1. 程式人生 > 其它 >SQL統計一張表中某個欄位不同狀態的數量

SQL統計一張表中某個欄位不同狀態的數量

技術標籤:MYSQLmysql資料庫

方法1:

SELECT 
SUM(CASE WHEN `status` = 0 THEN 1 ELSE 0 END) AS status_zero,
SUM(CASE WHEN `status` = 1 THEN 1 ELSE 0 END) AS status_one
FROM `vg_camera_status`;
//其中,status為欄位名,等號後面的值為要統計的狀態值。status_zero,status_one為查詢結果新的欄位名(可任意)。vg_camera_status為表名。

結果:
在這裡插入圖片描述
個人統計int型狀態的時候,該方法使用比較多。

方法2:

SELECT status,COUNT(status) AS cacount FROM vg_camera_status WHERE status=0 GROUP BY status HAVING cacount > 1 ORDER BY cacount DESC;
//其中,status為欄位名,cacount是查詢結果新的欄位名(可任意),vg_camera_status 為表名
//WHERE status=0 GROUP BY status HAVING cacount > 1;表示從查詢的結果中獲取狀態為0的總數,具體關於GROUP BY,HAVING,ORDER BY的用法可自行百度。(欄位名和關鍵字可以不區分大小寫)

結果:
在這裡插入圖片描述