sql >> Database teknologi >  >> RDS >> Mysql

MariaDb understøtter ikke ANY_VALUE() funktion

For i dag har du løst problemet. Men i morgen, når du kører den samme forespørgsel, vil du få en anden fejl.

I ældre versioner af MySQL eller MariaDB ville du få "enhver værdi" for price_available når ikke GROUPing BY det. Det var faktisk et sted mellem "dårlig praksis" og en "standardovertrædelse". Relativt for nylig skiftede MariaDB, så senere MySQL, til "kun fuld gruppe af". På det tidspunkt, ANY_VALUE() opstod for MySQL, men tilsyneladende droppede MariaDB bolden.

Den gamle løsning, som burde være sikker for både gamle og nye versioner, er at bruge MIN(price_available) eller en anden samlet funktion. (Hvis kolonnen muligvis har NULL , kan de forskellige aggregater håndtere NULL den måde, du foretrækker.)

Se også ONLY_FULL_GROUP_BY indstilling.



  1. Deling af dine data med PostgreSQL 11

  2. hvordan tæller man rækker efter første bogstav?

  3. opdater hvis der findes to felter, indsæt hvis ikke (MySQL)

  4. Sådan overvåges HAProxy-metrics med ClusterControl