Por hoy, has resuelto el problema. Pero mañana, cuando ejecute la misma consulta, obtendrá un error diferente.
En versiones anteriores de MySQL o MariaDB, obtendría "cualquier valor" para price_available
cuando no GROUPing BY
eso. Eso estaba efectivamente en algún lugar entre una "mala práctica" y una "violación de las normas". Hace relativamente poco tiempo, MariaDB, luego MySQL, cambió a "solo grupo completo por". En ese momento, ANY_VALUE()
nació para MySQL, pero aparentemente MariaDB dejó caer la pelota.
La solución antigua, que debería ser segura tanto para las versiones antiguas como para las nuevas, es usar MIN(price_available)
o alguna otra función agregada. (Si la columna puede tener NULL
, los diversos agregados pueden o no manejar NULL
de la forma que prefieras).
Ver también el ONLY_FULL_GROUP_BY
ajuste.