2014-10-28 4 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 –

+0

Эти две разные таблицы? –

+0

http://dev.mysql.com/doc/refman/5.0/ru/group-by-functions.html Посмотрите на пример COUNT. – Mihai

ответ

0

Вы хотите использовать функцию агрегации COUNT (*) здесь и группировать столбец учителя.

Попробуйте это:

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

Это будет сгруппировать все строки из таблицы по учителю, и подсчитать количество строк в этой группе (эффективно подсчетом числа студентов).

Подробнее об Aggregate Functions для вас.

+0

Спасибо всем за ваши комментарии. – notuo

+0

Конечно - хороший ответ должен всегда содержать объяснение, а не только код, который нужно скопировать и вставить. Не стесняйтесь также давать upvote, если это так хорошо;) – AdamMc331

Смежные вопросы