Mysql
 sql >> Database >  >> RDS >> Mysql

Query aggregata senza GROUP BY

Nella versione 5.7-ish è stata apportata una modifica a> dove ora, per impostazione predefinita, rifiuterà le query in cui aggreghi utilizzando una funzione (sum , avg , max , ecc.) nel SELECT clausola e non inserire i campi non aggregati nel GROUP BY clausola. Questo comportamento è parte integrante di ogni altro RDBMS e MySQL sta finalmente saltando a bordo.

Hai due opzioni:

  1. Puoi modificare le impostazioni di MySQL per ripristinare il vecchio comportamento per consentire query non eccezionali come questa. Le informazioni sono disponibili qui
  2. Puoi correggere la tua richiesta

L'opzione 2 sarebbe simile a:

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