sql >> Database >  >> RDS >> Mysql

Meerdere groepen gebruiken door in één query te hebben

U moet uw eerste telling in een subquery plaatsen:

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

BEWERKEN

Als u bereiken in uw telling moet doen, kunt u dit gebruiken:

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

Voorbeeld op SQL Fiddle



  1. Een MySQL-database opvragen met java

  2. Hoe 0 te retourneren in plaats van null bij gebruik van COUNT in MySQL

  3. Maven-afhankelijkheden niet opgelost in Eclipse

  4. Scripting over ssh via stopverf op windows