我有下表 http://sqlfiddle.com/#!3/7f078/1
好的,我想做的是GROUP BY schoolid
然后计算每所学校的孩子数量。这很简单。但我想删除一所拥有schoolinclude = 1
的孩子少于10个的学校。所以基本上,对于某个特定的学校,请查看所有schoolinclude = 1
的孩子,然后计算这些孩子。如果学校有不到10个孩子,我希望这所学校被删除。我想删除这个学校的原始表格。
最好的办法是什么?
答案 0 :(得分:1)
听起来这可能是学校的问题,所以我不打算给出完整的答案,但是:
答案 1 :(得分:1)
您需要将HAVING
子句实现为count(students)
,类似于此:
select *
from table_name
where schoolmident not in (SELECT schoolmident
FROM table_name
where schoolinclude = 1
group by schoolmident
having count(studentuid) < 10);
答案 2 :(得分:0)
select *
from (
select schoolmident
from table_name
where schoolinclude = 1
group by schoolmident
having count(studentuid) > 9) as a
join table_name as b
on a.schoolmident = b.schoolmident