数据表如下:
统计总数
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
输出结果如下:
统计总数及闲置的个数
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
输出结果如下: