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

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

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理