sql >> Databáze >  >> RDS >> Mysql

Agregovaný dotaz bez GROUP BY

ve verzi 5.7-ish byla provedena změna kde nyní ve výchozím nastavení odmítne dotazy, ve kterých agregujete pomocí funkce (sum , avg , max , atd.) v SELECT klauzule a nepodaří se vložit neagregovaná pole do GROUP BY doložka. Toto chování je nedílnou součástí všech ostatních RDBMS a MySQL se konečně dostává na palubu.

Máte dvě možnosti:

  1. Nastavení MySQL můžete změnit na výchozí na staré chování, abyste povolili nepříliš skvělé dotazy, jako je tento. Informace naleznete zde
  2. Můžete svůj dotaz opravit

Možnost 2 by vypadala nějak takto:

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


  1. MySQL:Transakce napříč více vlákny

  2. Výpočet hodnocení v PHP/MySQL

  3. Relevance fulltextového vyhledávání Mysql ve více tabulkách

  4. Jak vyladit výkon SQL Server, Azure SQL Database a Amazon RDS