Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как сделать такой запрос? / 3 сообщений из 3, страница 1 из 1
01.08.2015, 14:36:58
    #39020969
kitsu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать такой запрос?
У меня имеется база данных, в ней таблица person_grades
В таблице три столбца: teacher, person, grades
В первую записывается имя учителя, во вторую - ученика, в третью - оценка,
которую проставил учитель ученику.

teacher person grades
Иванова М.Т. Белов А.И. 5
Иванова М.Т. Петров А.П. 4
Сорокин К.Д. Белов А.И. 3
Сорокин К.Д. Петров А.П. 5
и т.д

Мне необходимо вывести информацию о каждом из учеников. Его средний балл,
а так же сколько каких оценок он получил и их общее количество.

Результат должен выглядеть подобным образом:

pesron average grades number grades number 2 number3 number4 number5
Белов А.И. 2,9 8 1 4 2 1
Петров А.П. 4 5 0 1 3 1
и т.д.

С выведением average grades и number grades у меня проблем нет, я пишу в запросе следующее:

SELECT person, AVG(grades) as "average grades", COUNT(grades) as "number grades"
FROM person_grades
GROUP BY person;

Но как в этот же запрос добавить выведение остальных столбцов мне не понятно,
вероятно подзапросами? Но если подзапросами, то совсем не понимаю как их строить правильно.
...
Рейтинг: 0 / 0
01.08.2015, 14:44:04
    #39020970
kitsu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать такой запрос?
Извиняюсь, при отправке пробелы исчезли, потому вот картинкой как должны выглядеть таблицы

...
Рейтинг: 0 / 0
02.08.2015, 17:58:16
    #39021226
machetero
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как сделать такой запрос?
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как сделать такой запрос? / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]