SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 08.11.2010 16:08:23

kalling
Участник
Зарегистрирован: 08.11.2010
Сообщений: 2

Проблема с COUNT

Друзья, я совсем новичок в MySQl, необходимо выполнить один запрос, но, к сожалению, ничего пока не получается.

Есть база студентов и преподавателей. В таблице студентов указан ID преподавателя, который курирует определенного студента (см. картинку).

Задача: посчитать общее количество студентов, которое закреплено за каждым преподавателем. Я понимаю, что тут нужно использовать функцию count, но совершенно не понимаю, как довести ее до ума, чтобы получилось требуемое. Очень прошу помочь!


Прикрепленные файлы:
Attachment Icon Screen shot 2010-11-08 at 12.59.21.png, Размер: 128,534 байт, Скачано: 323

Неактивен

 

#2 08.11.2010 16:42:14

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Проблема с COUNT

SELECT staff_id, COUNT(*) FROM research_student
GROUP BY staff_id.

Неактивен

 

#3 08.11.2010 16:49:24

kalling
Участник
Зарегистрирован: 08.11.2010
Сообщений: 2

Re: Проблема с COUNT

paulus написал:

SELECT staff_id, COUNT(*) FROM research_student
GROUP BY staff_id.

спасибо!

Я как-то создал тему и сразу ответ пришел:

SELECT R.Staff_id, COUNT(R.Staff_id) as Total_student
From Research_Student as R
Group by R.Staff_id

Но теперь проблема в том, чтобы добавить к этой таблице Имя и Фамилию преподавателя по его id, делаю вот такой запрос, не работаетsad

SELECT R.Staff_id, COUNT(R.Staff_id) as Total_Students, CONCAT(S.Last_name," ",S.First_name) As Name
From Research_Student as R, Staff as S
Group by R.Staff_id
Having R.Staff_id=S.Staff_id

я понимаю, что проблема в том, что я делаю неправильный референс на другую таблицу, но не знаю, как сделать верный sad

Отредактированно kalling (08.11.2010 17:14:15)

Неактивен

 

#4 08.11.2010 19:58:52

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Проблема с COUNT

SELECT COUNT(R.Staff_id) as Total_Students, CONCAT(S.Last_name," ",S.First_name) As Name
From Research_Student as R JOIN Staff as S ON R.Staff_id=S.Staff_id
GROUP BY R.Staff_id


http://dev.mysql.com/doc/refman/5.5/en/join.html

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson