Cómo arreglar el grupo de consulta con only_full_group_by

Tengo una tabla básica de valores clave, que contiene algunos datos para cada usuario. Con el mysql actualizado tiene elsql_mode ajustado aonly_full_group_by (nuevo valor predeterminado) cuando hace un grupo por. Cuando intento ejecutar esta consulta simple:

select * from user_features
where user_id = 1
group by feature_key

Obtuve el siguiente error:

Error de SQL (1055): la expresión # 1 de la lista SELECT no está en la cláusula GROUP BY y contiene la columna no agregada 'date.user_features.user_id' que no depende funcionalmente de las columnas en la cláusula GROUP BY; esto es incompatible con sql_mode = only_full_group_by

Con este ejemplo de datos, quiero agrupar en función defeature_key (Agregaré ungroup_concat una vez que se corrige el error del grupo).

| user_id | feature_key | feature_value |
+---------+-------------+---------------+
| 1       | color       | red           |
+---------+-------------+---------------+
| 1       | age         | 15            |
+---------+-------------+---------------+
| 1       | color       | blue          |
+---------+-------------+---------------+

La tabla se ve así:

CREATE TABLE `user_features` (
  `user_id` int(10) unsigned NOT NULL,
  `feature_key` varchar(50) NOT NULL,
  `feature_value` varchar(50) NOT NULL,
  UNIQUE KEY `user_id_feature_key_feature_value` (`user_id`,`feature_key`,`feature_value`)
)

¿Qué consulta puedo ejecutar para solucionar esto o qué índice (s) debo agregar?

Respuestas a la pregunta(1)

Su respuesta a la pregunta