我有下表 http://sqlfiddle.com/#!3/7f078/1
好的,我想做的是 GROUP BY schoolid
,然后计算每所学校的孩子人数。这很简单。但我想移除一所拥有不到 10 个孩子的学校schoolinclude = 1
。所以基本上,对于一所特定的学校,查看所有拥有的孩子,schoolinclude = 1
然后计算这些孩子。如果学校的孩子少于 10 个,我希望这所学校被移除。然后我想在这所学校被移除的情况下返回原来的桌子。
解决这个问题的最好方法是什么?
我有下表 http://sqlfiddle.com/#!3/7f078/1
好的,我想做的是 GROUP BY schoolid
,然后计算每所学校的孩子人数。这很简单。但我想移除一所拥有不到 10 个孩子的学校schoolinclude = 1
。所以基本上,对于一所特定的学校,查看所有拥有的孩子,schoolinclude = 1
然后计算这些孩子。如果学校的孩子少于 10 个,我希望这所学校被移除。然后我想在这所学校被移除的情况下返回原来的桌子。
解决这个问题的最好方法是什么?
这听起来可能是一个学校问题,所以我不会给出完整的答案,但是:
查看 HAVING 子句http://www.w3schools.com/sql/sql_having.asp
您需要实现与此类似的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);
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