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

项目中使用记录:
SQL统计表中某字段不同状态值的总数量_第1张图片

方法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的用法可自行百度。(字段名和关键字可以不区分大小写)

你可能感兴趣的:(mysql数据库)