Baseret på dit spørgsmål ser det ud til, at forespørgslen fungerede korrekt før MySql
opgradering. Siden du har opgraderet MySql
, standardindstillinger er blevet anvendt, hvilket betyder Only_Full_Group_By
er aktiveret. Derfor, hvis du ønsker at udføre forespørgsler som den pågældende, hvor ikke-aggregerede kolonner i Select
listen er ikke i group by
klausul, skal du deaktivere Only_Full_Group_By
.
Kør nedenstående sætning og udfør din forespørgsel igen:
SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
Advarsel:Du bør kun gøre dette, hvis du er sikker på, at andre ikke-aggregerede kolonner på udvalgt liste er unikke for hvert tnumber
ellers får du tilfældige rækker som resultat.
Følgende er citeret fra MYSQL 8.0 Manual:
FOR mere info, Klik her .