sql >> Databasteknik >  >> RDS >> Mysql

använder GROUP BY i mysql 8

Baserat på din fråga ser det ut som att frågan fungerade korrekt innan MySql uppgradering. Sedan du har uppgraderat MySql , standardinställningar har tillämpats vilket betyder Only_Full_Group_By är aktiverad. Därför, om du vill köra frågor som den i fråga där icke aggregerade kolumner i Select listan är inte i group by klausul måste du inaktivera Only_Full_Group_By .

Kör nedanstående uttalande och kör din fråga igen:

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

Varning:Du bör bara göra detta om du är säker på att andra icke-sammanställda kolumner i den valda listan är unika för varje tnumber annars får du slumpmässiga rader som resultat.

Följande är citerat från MYSQL 8.0 Manual:

FÖR mer information, Klicka här .



  1. SQL - Kombinera flera liknande frågor

  2. Hur man får en lista över datum mellan två datum i mysql select query

  3. Förstå Pivot Operator i SQL

  4. Varning:ett formulär på denna sida har mer än 1000 fält PHP MySql