sql >> Databasteknik >  >> RDS >> Mysql

Aggregerad fråga utan GROUP BY

En ändring gjordes i version 5.7-ish a> där den nu, som standard, avvisar frågor där du aggregerar med en funktion (sum , avg , max , etc.) i SELECT sats och misslyckas med att placera de icke aggregerade fälten i GROUP BY klausul. Detta beteende är en del av alla andra RDBMS och MySQL hoppar äntligen ombord.

Du har två alternativ:

  1. Du kan ändra MySQL-inställningarna till standardinställningarna till det gamla beteendet för att tillåta inte så bra frågor som denna. Information finns här
  2. Du kan fixa din fråga

Alternativ 2 skulle se ut ungefär så här:

SELECT id, password, COUNT(id) AS count FROM users WHERE email = :email GROUP BY id, password LIMIT 1


  1. Antal fredagar mellan två datum

  2. Alternativ lösning till DCount och DLookup med MS SQL Server Backend

  3. Oavsiktligt borttagen postgres standard superanvändarprivilegier - kan jag få tillbaka det?

  4. MySQL - räkna per månad (inklusive saknade poster)