sql >> Databáze >  >> RDS >> Mysql

MariaDb nepodporuje funkci ANY_VALUE().

Pro dnešek jste problém vyřešili. Ale zítra, když spustíte stejný dotaz, dostanete jinou chybu.

Ve starších verzích MySQL nebo MariaDB byste pro price_available dostali „libovolnou hodnotu“ když není GROUPing BY to. To bylo fakticky někde mezi „špatnou praxí“ a „porušením norem“. Relativně nedávno přešla MariaDB, později MySQL, na „pouze full group by“. V té době ANY_VALUE() vznikl pro MySQL, ale MariaDB zjevně upustila.

Staré řešení, které by mělo být bezpečné pro staré i nové verze, je použít MIN(price_available) nebo nějakou jinou agregační funkci. (Pokud sloupec může mít NULL , různé agregáty mohou nebo nemusí zpracovat NULL způsob, který preferujete.)

Viz také ONLY_FULL_GROUP_BY nastavení.



  1. Aktualizujte tabulku v MySQL pomocí python dict

  2. Jak zobrazit řazení sloupce v MySQL

  3. PHP/MySQL Aktualizovat výběr zaškrtávacího políčka do databáze

  4. Počet pátků mezi dvěma daty