关于mysql:SQL统计表中某字段不同状态值的总数量

10次阅读

共计 545 个字符,预计需要花费 2 分钟才能阅读完成。

办法 1:

集体统计 int 型状态的时候,该办法应用比拟多。

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 为表名。

我的项目中应用记录:

办法 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 的用法可自行百度。(字段名和关键字能够不辨别大小写)
正文完
 0