sql >> Database >  >> RDS >> Mysql

gebruik van GROUP BY in mysql 8

Op basis van uw vraag lijkt het erop dat de zoekopdracht correct werkte vóór MySql upgrade. Sinds je MySql hebt geüpgraded , standaardinstellingen zijn toegepast, wat betekent Only_Full_Group_By is ingeschakeld. Als u dus query's wilt uitvoeren zoals die in kwestie waarbij niet-geaggregeerde kolommen in Select lijst zijn niet in group by clausule, moet u Only_Full_Group_By . uitschakelen .

Voer onderstaande instructie uit en voer uw zoekopdracht opnieuw uit:

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

Waarschuwing:u moet dit alleen doen als u zeker weet dat andere niet-geaggregeerde kolommen in de selectielijst uniek zijn voor elk tnumber anders krijg je willekeurige rijen als resultaat.

Het volgende wordt geciteerd uit de handleiding van MYSQL 8.0:

VOOR Meer info, Klik hier .



  1. 2 manieren om erachter te komen tot welk kwartaal een datum behoort in MariaDB

  2. hoe selecteer je alleen een rij met een maximale reeks zonder een subquery te gebruiken?

  3. ORA-01036:ongeldige variabele naam/nummer bij het uitvoeren van een query via C#

  4. Hoe $_POST een dynamisch toegewezen waarde in PHP?