Mysql
 sql >> база данни >  >> RDS >> Mysql

Обобщена заявка без GROUP BY

направена е промяна във версия 5.7-ish където сега по подразбиране ще отхвърля заявки, в които агрегирате с помощта на функция (sum , avg , max и др.) в SELECT клауза и не успява да постави неагрегираните полета в GROUP BY клауза. Това поведение е неразделна част от всяка друга RDBMS и MySQL най-накрая се включва.

Имате две опции:

  1. Можете да промените настройките на MySQL по подразбиране към старото поведение, за да позволите не толкова страхотни заявки като тази. Информация можете да намерите тук
  2. Можете да коригирате заявката си

Вариант 2 би изглеждал така:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysql :изхвърля база данни заедно с данните

  2. Импортиране на по-големи SQL файлове в MySQL

  3. Сортиране по ред на стойностите в оператор select в клауза в mysql

  4. Как да изпращате имейл от MySQL 5.1

  5. Вмъкнете съдържанието на файла в колоната на MySQL таблицата