Pour aujourd'hui, vous avez résolu le problème. Mais demain, lorsque vous exécuterez la même requête, vous obtiendrez une erreur différente.
Dans les anciennes versions de MySQL ou MariaDB, vous obteniez "n'importe quelle valeur" pour price_available
lorsqu'il n'est pas GROUPing BY
ce. C'était effectivement quelque part entre une "mauvaise pratique" et une "violation des normes". Relativement récemment, MariaDB, puis plus tard MySQL, sont passés à "uniquement le groupe complet par". À ce moment-là, ANY_VALUE()
a vu le jour pour MySQL, mais apparemment MariaDB a laissé tomber.
L'ancienne solution de contournement, qui devrait être sûre pour les anciennes et les nouvelles versions, consiste à utiliser MIN(price_available)
ou une autre fonction d'agrégation. (Si la colonne peut avoir NULL
, les différents agrégats peuvent ou non gérer NULL
comme vous préférez.)
Voir aussi le ONLY_FULL_GROUP_BY
réglage.