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

SELECT ze zobrazení MySQL s klauzulí HAVING vrátí prázdnou sadu výsledků

HAVING klauzule je určena k použití na agregovaných datech, když seskupujete řádky dohromady pomocí GROUP BY doložka. Protože pracujete na každém řádku samostatně, měli byste nahradit HAVING s WHERE doložka. Viz tento příklad pro podrobnosti.

Použití HAVING na neagregované sloupce ve vašem seznamu SELECT je nestandardní chování, které MySQL podporuje, ale chování, na které by se nemělo spoléhat. Dokonce i reference MySQL odrazuje to:

Na okraj:pokud předáváte argumenty od uživatele vašemu dotazu (s %s ), nezapomeňte se podívat do připravených prohlášení. Jinak můžete mít do očí bijící bezpečnostní chybu.



  1. Chyby Instalace drahokamu mysql2 přes Bundler

  2. Typ sloupce MySQL TIMESTAMP implicitně zahrnuje NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

  3. Použití DISTINCT a COUNT společně v dotazu MySQL

  4. Jak vybrat více řádků pomocí primárního klíče s více sloupci v MySQL?