Mysql
 sql >> Base de données >  >> RDS >> Mysql

utilisation de GROUP BY dans mysql 8

D'après votre question, il semble que la requête fonctionnait correctement avant MySql améliorer. Depuis que vous avez mis à jour MySql , les paramètres par défaut ont été appliqués, ce qui signifie Only_Full_Group_By est autorisé. Par conséquent, si vous souhaitez exécuter des requêtes comme celle en question où des colonnes non agrégées dans Select la liste n'est pas dans group by clause, vous devez désactiver Only_Full_Group_By .

Exécutez l'instruction ci-dessous et exécutez à nouveau votre requête :

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

Avertissement :Vous ne devez le faire que si vous êtes sûr que les autres colonnes non agrégées de la liste de sélection sont uniques pour chaque tnumber sinon, vous obtiendrez des lignes aléatoires.

Voici une citation du manuel MYSQL 8.0 :

POUR plus d'informations, Cliquez ici .