繁体   English   中英

使用相同的ID列获取特定的COUNT值

[英]Get specific COUNT value with same ID column

我有这个查询

SELECT * 
FROM classroom 
WHERE capacity > (SELECT COUNT(class_history.*) 
                  FROM classroom 
                  RIGHT JOIN class_history ON classroom.id_class = class_history.id_class 
                  GROUP BY class_history.id_class) 
ORDER BY id_class DESC

我想通过计算class_history记录来获得教室的容量,与教室ID相同,有人可以帮助我进行此查询吗?

这样我就可以获得回报

classroom 1 - capacity  (0/20)
classroom 2 - capacity  (2/20)
classroom 3 - capacity  (9/10)

这里的截图

桌子教室 课堂

class_history class_history

注意:如果容量已满,则不会出现;如果容量未满,则无论容量是否仍为0,都将出现

使用LEFT JOIN ,它应该可以解决您的问题

SELECT classroom.id_class, COUNT(class_history.id_class), capacity 
FROM classroom LEFT JOIN class_history
ON classroom.id_class = class_history.id_class
GROUP BY classroom.id_class
HAVING COUNT(class_history.id_class) < capacity

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM