Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Sử dụng nhiều nhóm bằng cách có một truy vấn duy nhất

Bạn cần đặt số đầu tiên của mình vào một truy vấn con:

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

CHỈNH SỬA

Nếu bạn cần thực hiện các phạm vi trong số lượng của mình, bạn có thể sử dụng điều này:

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

Ví dụ trên 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. Thay đổi múi giờ sau khi kết nối với cơ sở dữ liệu bằng cách sử dụng set time_zone =...

  2. Nhận ngày đầu tiên và ngày cuối cùng của tháng tới trong MySQL

  3. MySql chọn định dạng, cột tròn

  4. tạo một số ngẫu nhiên bằng MYSQL

  5. Đường ray chọn bản ghi ngẫu nhiên