Mysql
 sql >> Base de données >  >> RDS >> Mysql

MariaDb ne prend pas en charge la fonction ANY_VALUE()

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.