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

Korzystanie z wielu grup poprzez jedno zapytanie

Musisz umieścić swoją pierwszą liczbę w podzapytaniu:

SELECT  COUNT(CASE WHEN C = 1 THEN 1 END) AS nooffamiliesHavingcount1,
        COUNT(CASE WHEN C = 2 THEN 1 END) AS nooffamiliesHavingcount2
FROM    (   SELECT  COUNT(*) AS C
            FROM    TableName
            GROUP BY House_No
        ) t
WHERE   c IN (1, 2);

EDYTUJ

Jeśli potrzebujesz zrobić zakresy w swoim liczeniu, możesz użyć tego:

SELECT  COUNT(CASE WHEN C <= 1 THEN 1 END) AS nooffamiliesHavingcount1,
        COUNT(CASE WHEN C BETWEEN 2 AND 4 THEN 1 END) AS nooffamiliesHavingcount2,
        COUNT(CASE WHEN C > 4 THEN 1 END) AS nooffamiliesHavingcount3
FROM    (   SELECT  COUNT(*) AS C
            FROM    TableName
            GROUP BY House_No
        ) t

Przykład SQL Fiddle



  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 zautomatyzować migrację (schematu i danych) dla aplikacji PHP/MySQL

  2. Grupuj według zakresu X dni

  3. zwracaj liczby ze środka ciągu o nieregularnym formacie

  4. Zapytanie PHP nie pokazuje wszystkich wyników w tabeli html

  5. UWAGA:Nawiązywanie połączenia SSL bez weryfikacji tożsamości serwera nie jest zalecane