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

Come risolvere la clausola ORDER BY non è nell'elenco SELECT causato da MySQL 5.7 con SELECT DISTINCT e ORDER BY

Se hai il controllo del server e stai eseguendo codice legacy che non puoi modificare facilmente, puoi regola la modalità SQL del server e rimuovere "only_full_group_by" per la durata dell'avvio, eseguendo la query

SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));

o aggiungendo sql_mode='' nel tuo file my.cnf.

Ovviamente è meglio cambiare il tuo codice se ne hai la possibilità, ma in caso contrario, questo disabiliterà quell'avviso.