imho.ws |
![]() |
![]() |
![]() |
# 4 |
мод
IMHO Кодер-200(6,7,8) Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Полагаю вв results уже средние оценки? Сколько студентов надо (добавьте в запрос после select с нужным количеством TOP N)?
Код:
SELECT * FROM students s JOIN results r ON (s.id = r.id)
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям! Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru Pahan-Hubbitus. |
![]() |
![]() |
# 5 | |
Newbie
Регистрация: 07.10.2010
Сообщения: 6
![]() |
Цитата:
а в самом результате вывести имена студентов только с максимальными средними баллами. т.е. нужно написать подзапрос, который простой для не новичков, но я затрудняюсь |
|
![]() |
![]() |
# 6 | ||
мод
IMHO Кодер-200(6,7,8) Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
Цитата:
Думаю как-то так тогда: Код:
SELECT TOP 1 WITH TIES name, AVG(mark) as avg_mark FROM students s JOIN results r ON (s.id = r.id) GROUP BY s.id
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям! Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru Pahan-Hubbitus. |
||
![]() |
![]() |
# 7 | ||
Newbie
Регистрация: 07.10.2010
Сообщения: 6
![]() |
Цитата:
Цитата:
![]() |
||
![]() |
![]() |
# 8 |
мод
IMHO Кодер-200(6,7,8) Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Ну так Вам только средние и имя и надо же. Впрочем Вы правы, сортировку я забыл добавить:
Код:
SELECT TOP 1 WITH TIES name, AVG(mark) as avg_mark FROM students s JOIN results r ON (s.id = r.id) GROUP BY s.id ORDER BY avg_mark DESC
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям! Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru Pahan-Hubbitus. |
![]() |
![]() |
# 10 |
мод
IMHO Кодер-200(6,7,8) Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Так запрос и выберет именно:
AVG посчитает среднее, ORDER BY avg_mark DESC упорядочит так чтобы максимальные были сверху, TOP 1 вернет только один верхний результат, WITH TIES остальные результаты с таким же значением. Вроде именно то что Вы хотели.
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям! Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru Pahan-Hubbitus. |
![]() |
![]() |
# 11 | |
Newbie
Регистрация: 07.10.2010
Сообщения: 6
![]() |
Цитата:
Теперь всё понятно. ![]() |
|
![]() |
![]() |
# 12 |
мод
IMHO Кодер-200(6,7,8) Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
WITH TIES ничего не связывает совершенно! Не очень понял о чем Вы, но единственное что здесь связывает таблицы это JOIN. Все остальное что делает подробно расписал выше в посте.
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям! Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru Pahan-Hubbitus. |
![]() |