sql >> Databasteknik >  >> RDS >> Mysql

MariaDb stöder inte ANY_VALUE() funktion

För idag har du löst problemet. Men imorgon, när du kör samma fråga, kommer du att få ett annat fel.

I äldre versioner av MySQL eller MariaDB skulle du få "valfritt värde" för price_available när du inte GROUPing BY Det. Det var faktiskt någonstans mellan "dålig praxis" och en "standardöverträdelse". Relativt nyligen bytte MariaDB, sedan MySQL, till "endast full grupp av". Vid den tiden, ANY_VALUE() kom till för MySQL, men tydligen tappade MariaDB bollen.

Den gamla lösningen, som borde vara säker för både gamla och nya versioner är att använda MIN(price_available) eller någon annan aggregatfunktion. (Om kolumnen kan ha NULL , kanske de olika aggregaten hanterar NULL det sätt du föredrar.)

Se även ONLY_FULL_GROUP_BY inställning.



  1. com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Kommunikationslänk misslyckades

  2. E-postanalys och bearbetningsarkitektur

  3. Subquerys rand()-kolumn omvärderas för varje upprepat val i MySQL 5.7/8.0 vs MySQL 5.6

  4. Mysql ordning efter specifika ID-värden