我有一张结构如下的表
CREATE TABLE IF NOT EXISTS list (
`LastName` VARCHAR(13) CHARACTER SET utf8,
`FirstName` VARCHAR(14) CHARACTER SET utf8,
`Grade` INT,
`Classroom` INT
);
这就是我想找到的——找到所有的教室里都有同样数量的学生。每对只报告一次。报告教室和学生人数。
我试过下面的剧本
select classroom,count(*) as cnt
from list
group by classroom
having count(*) in (select c.cnt as v
from
(select classroom,count(*) as cnt
from list
group by classroom)c
group by c.cnt
having count(classroom) =2);
不会有结果。
感谢您对以上项目的帮助
2条答案
按热度按时间nwlls2ji1#
我会使用ctes:
我认为你误解了这个问题。它寻找的是一个结果集,每行有两个教室,而不是一个有计数的教室。
ztyzrc3y2#
干得好: