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

Získávání prázdných výsledků pro dotaz 'COUNT'/'GROUP BY' MySQL

Toto není chyba MySQL.

Agregační dotaz vrátí jeden řádek na skupinu, která je zjištěna. Bez group by , existuje jedna skupina -- celá tabulka. Přiznávám, že je to trochu složitější, protože stále existuje jedna skupina, i když v tabulce nejsou žádné řádky.

S group by , na skupinu je jeden řádek. Pokud ve skupině nejsou žádné řádky, skupina se nezobrazí. Ve vašem případě dotaz:

SELECT `a`, `b`, COUNT(*) as `c`
FROM `mytable` 
WHERE `status` = 1

Vrátí jeden řádek se dvěma NULL s následuje 0 .

Stejný dotaz s:

GROUP BY `a`,`b`

vrátí žádné řádky, protože neexistují žádné řádky pro vytvoření skupin.



  1. JSON_LENGTH() – Vrátí délku dokumentu JSON v MySQL

  2. Vytvořte tabulku v příkazu by sql pomocí executeUpdate v Mysql

  3. Příkaz At-Sign v SQL před názvem sloupce

  4. podporuje node-postgres více sad výsledků