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.