2014-10-28 75 views
0

我無法成功編寫此查詢,但尚未找到任何資源。統計一列的重複次數

我有一個兩列的表。該表看起來有點像這樣:

|student|teacher| 
| 5314 | 656 | 
| 4189 | 671 | 
| 4506 | 671 | 
| 4515 | 671 | 
| 3754 | 756 | 
| 3760 | 756 | 
| 1066 | 781 | 

我想要的結果集是這樣的:

|teacher|count| 
| 656 | 1 | 
| 671 | 3 | 
| 756 | 2 | 
| 781 | 1 | 

任何暗示,真是不勝感激。

+1

好的地方開始閱讀:http://en.wikipedia.org/wiki/Aggregate_function和http://en.wikipedia.org/wiki/SQL#Queries – 2014-10-28 19:35:22

+0

這兩個不同的表? – 2014-10-28 19:35:46

+0

http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html查看COUNT示例。 – Mihai 2014-10-28 19:41:06

回答

0

您想在此處使用COUNT(*)聚合函數,並按教師列分組。

試試這個:

SELECT teacher, COUNT(*) as numStudents 
FROM myTable 
GROUP BY teacher; 

這將組全部由老師從你的錶行,並計算該組中的行數(有效計數的學生數量)。

這裏是更多關於Aggregate Functions給你。

+0

謝謝大家的意見。 – notuo 2014-10-28 20:01:59

+0

當然 - 一個好的答案應該總是伴隨着解釋,而不僅僅是複製和粘貼代碼。如果是這樣的話,請隨時給予高分;) – AdamMc331 2014-10-28 20:02:41