Mysql
 sql >> база данни >  >> RDS >> Mysql

Използване на множество групи чрез наличие на една заявка

Трябва да поставите първия си брой в подзаявка:

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);

РЕДАКТИРАНЕ

Ако трябва да направите диапазони във вашия брой, можете да използвате това:

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

Пример за 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. Рамката на обекта добавя допълнително условие за клаузата where

  2. Код на грешка:1452. Не може да се добави или актуализира дъщерен ред

  3. номер на низ за сортиране на mysql

  4. Съхраняване на персийски\арабски текст в mysql база данни

  5. Има ли начин да се инсталира само mysql клиента (Linux)?