Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Pobieranie pustych wyników dla zapytania MySQL „COUNT”/„GROUP BY”

To nie jest błąd MySQL.

Zapytanie agregujące zwróci jeden wiersz na każdą napotkaną grupę. Bez group by , jest jedna grupa – cały stół. Przyznaję, że jest to trochę trudne, ponieważ wciąż jest jedna grupa, nawet jeśli w tabeli nie ma wierszy.

Z group by , na grupę przypada jeden wiersz. Jeśli w grupie nie ma wierszy, grupa nie jest wyświetlana. W Twoim przypadku zapytanie:

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

Zwróci jeden wiersz, z dwoma NULL s, po którym następuje 0 .

To samo zapytanie z:

GROUP BY `a`,`b`

nie zwróci żadnych wierszy, ponieważ nie ma wierszy do utworzenia grup.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak połączyć Django z bazą danych MySQL przez połączenie SSL?

  2. WYBIERZ DO w MySQL

  3. Kod błędu 1111. Nieprawidłowe użycie funkcji grupy

  4. Jak obliczyć tygodniowych aktywnych użytkowników (WAU) w MySQL?

  5. Czy zamknięcie połączenia mysql jest ważne?