Na dziś rozwiązałeś problem. Ale jutro, gdy uruchomisz to samo zapytanie, otrzymasz inny błąd.
W starszych wersjach MySQL lub MariaDB otrzymasz „dowolną wartość” dla price_available
kiedy nie GROUPing BY
to. To było w rzeczywistości gdzieś pomiędzy „złą praktyką” a „naruszeniem standardów”. Stosunkowo niedawno MariaDB, a później MySQL, przeszła na „tylko pełne grupowanie według”. W tym czasie ANY_VALUE()
powstała dla MySQL, ale najwyraźniej MariaDB upuściła piłkę.
Stare obejście, które powinno być bezpieczne zarówno dla starych, jak i nowych wersji, to użycie MIN(price_available)
lub jakaś inna funkcja agregująca. (Jeśli kolumna może mieć NULL
, różne agregaty mogą, ale nie muszą obsługiwać NULL
tak, jak wolisz).
Zobacz także ONLY_FULL_GROUP_BY
ustawienie.