Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Menggunakan beberapa grup dengan memiliki satu kueri

Anda harus memasukkan hitungan pertama Anda ke dalam subkueri:

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

EDIT

Jika Anda perlu melakukan rentang dalam hitungan Anda, Anda dapat menggunakan ini:

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

Contoh pada 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. PDO::bindParam dalam loop foreach, semua nilai disetel sama?

  2. cara memasukkan datetime di mysql menggunakan php

  3. Kardinalitas indeks MySQL - kinerja vs efisiensi penyimpanan

  4. MySQL GROUP BY perilaku

  5. Apa cara terbaik untuk mengembalikan nilai enum di MySQL?