2012-11-14 64 views
2

的結果行我有如下表 http://sqlfiddle.com/#!3/7f078/1去除表從GROUPBY

好了,所以我想要做的就是GROUP BY schoolid再算上孩子在各學校的數量。這很容易。但我想刪除一個擁有少於10個孩子的學校,他們的編號爲schoolinclude = 1。所以基本上,對於一個特定的學校,看看所有擁有schoolinclude = 1的孩子,然後數這些孩子。如果學校少於10個孩子,我希望這個學校被移除。然後我想將這所學校的原始表格退回。

這是怎麼回事呢?

+0

你和你有多接近? – nawfal

回答

1

這聽起來像它可能是一個學校的問題,所以我不打算給整個答案,但:

查找到HAVING子句http://www.w3schools.com/sql/sql_having.asp

+0

其實我在工作,我只是空白。不過謝謝你的鏈接。我完全忘了有關條款。我試圖把「count()」放在where子句中,它給了我一個錯誤,你不能在where子句中使用聚合函數。 – masfenix

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); 

SQL Fiddle with Demo

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