Per oggi hai risolto il problema. Ma domani, quando eseguirai la stessa query, riceverai un errore diverso.
Nelle versioni precedenti di MySQL o MariaDB, avresti ottenuto "qualsiasi valore" per price_available
quando non GROUPing BY
esso. Era effettivamente una via di mezzo tra "cattiva pratica" e "violazione degli standard". Relativamente di recente, MariaDB, poi MySQL, è passato a "solo gruppo completo per". In quel momento, ANY_VALUE()
è nato per MySQL, ma a quanto pare MariaDB ha lasciato cadere la palla.
La vecchia soluzione alternativa, che dovrebbe essere sicura sia per la vecchia che per la nuova versione, consiste nell'usare MIN(price_available)
o qualche altra funzione aggregata. (Se la colonna potrebbe avere NULL
, i vari aggregati potrebbero o meno gestire NULL
nel modo che preferisci.)
Vedi anche il ONLY_FULL_GROUP_BY
impostazione.