mysql数据库两表关联查询统计同一字段不同值的个数

数据表如下:

mysql数据库两表关联查询统计同一字段不同值的个数_第1张图片mysql数据库两表关联查询统计同一字段不同值的个数_第2张图片

统计总数

SELECT h.*,IFNULL(count(r.pid),0) AS 总数
FROM rts_room AS r RIGHT JOIN rts_house AS h
ON r.pid = h.Id
AND r.state != 3
WHERE h.state = 0
GROUP BY h.Id

输出结果如下:

mysql数据库两表关联查询统计同一字段不同值的个数_第3张图片

统计总数及闲置的个数

SELECT 
h.*,
SUM(CASE r.state WHEN "0" THEN 1 ELSE 0 END)+
SUM(CASE r.state WHEN "1" THEN 1 ELSE 0 END) AS 总数,
SUM(CASE r.state WHEN "0" THEN 1 ELSE 0 END) AS 闲置
FROM rts_room AS r RIGHT JOIN rts_house AS h
ON r.pid = h.Id
WHERE h.state = 0
GROUP BY h.Id

输出结果如下:

mysql数据库两表关联查询统计同一字段不同值的个数_第4张图片

 

转载于:https://www.cnblogs.com/clqbolg/p/11376095.html

你可能感兴趣的:(mysql数据库两表关联查询统计同一字段不同值的个数)