powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / GOUP BY
10 сообщений из 10, страница 1 из 1
GOUP BY
    #38454125
Тимохич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вообщем задали задачку: Выведите преподавателей, у которых среднее значение выставляемых оценок больше 3.
Я составил такой запрос:
Код: sql
1.
2.
3.
4.
5.
SELECT Lecturer.Family,AVG(Exam.Mark)
    FROM Lecturer,Exam
    WHERE Exam.Lect_id=Lecturer.Lect_id
    AND AVG(Exam.Mark)>3
    GROUP BY Lecturer.Family;


Выдает ошибку использования групировки.
Если убрать строчку AND AVG(Exam.Mark)>3 то выводит всех преподавателей.
Как правильно составить запрос?
...
Рейтинг: 0 / 0
GOUP BY
    #38454219
почитать про HAVING
...
Рейтинг: 0 / 0
GOUP BY
    #38454231
Тимохич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый Э - Эх,
Спасибо помогло, но мы его еще не проходили,без него не как нельзя?
...
Рейтинг: 0 / 0
GOUP BY
    #38454256
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
select family from (
SELECT Lecturer.Family,AVG(Exam.Mark) q
    FROM Lecturer,Exam
    WHERE Exam.Lect_id=Lecturer.Lect_id
    GROUP BY Lecturer.Family
) t0 where q>3 ;

но тут используется подзапрос, вы их уже проходили? :)
...
Рейтинг: 0 / 0
GOUP BY
    #38454277
Тимохич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tanglir,

к сожелению нет
...
Рейтинг: 0 / 0
GOUP BY
    #38454321
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТимохичДобрый Э - Эх,
Спасибо помогло, но мы его еще не проходили,без него не как нельзя?

Нельзя. Читай.

Можно ещё корелированным подзапросом.
...
Рейтинг: 0 / 0
GOUP BY
    #38454326
Тимохич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv,

Ну тогда так и оставлю, Спасибо всем что помогли!
...
Рейтинг: 0 / 0
GOUP BY
    #38454327
qwerty112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тимохич,

врядли, что бы "проходили" агрегатные функции и "не проходили" HAVING ...

навсякий, "типа" без HAVING так ещё можно
Код: sql
1.
2.
3.
4.
5.
6.
7.
select *
from
    (SELECT Lecturer.Family,AVG(Exam.Mark) as avg_mark
    FROM Lecturer,Exam
    WHERE Exam.Lect_id=Lecturer.Lect_id
    GROUP BY Lecturer.Family) a
where avg_mark>3
...
Рейтинг: 0 / 0
GOUP BY
    #38454337
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тимохич,

Собственно, там и проходить нечего. Она такая же, как WHERE, только
условия , содержащие агрегатные функции, можно писать только в HAVING, в остальном эта фраза ничем не отличается от where.
...
Рейтинг: 0 / 0
GOUP BY
    #38454575
Тимохич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv,
Какбы GROUР BY на самостоятельное изучение дали и я нигде не видел что используют еще HAVING, но теперь буду знать.
Еще раз спасибо!
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / GOUP BY
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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