Я пытаюсь получить номера класса с графиком конечно перекрытия, мои таблицы: курсы:SQL HAVING макс (количество()) возвращают нулевые строки
COURSE_ID NAME
11 matematika
22 logika
33 himiya
44 sport
55 algoritmika
66 hedva
77 algebra linearit
График работы:
ID COURSE_ID ID_ROOM DAY HOUR
1 11 105 Mon 10am
2 11 105 Wen 10am
3 11 105 Thu 10am
4 22 105 Mon 10am
5 22 205 Wen 10am
6 22 105 Thu 10am
7 33 305 Mon 11am
8 33 105 Mon 10am
class_room:
ID_ROOM LOCATION CAPACITY
105 A 20
205 B 10
305 C 30
My SQL является:
select class_room.ID_ROOM as crid, class_room.LOCATION, schedule.DAY as d, schedule.HOUR as h, count(courses.COURSE_ID) as count
from schedule
natural join class_room
natural join courses
group by crid, d, h
order by count desc;
и я получаю:
crid LOCATION d h count
105 A Mon 10am 3
105 A Thu 10am 2
305 C Mon 11am 1
105 A Wen 10am 1
205 B Wen 10am 1
Но мне нужно, чтобы показать все максимальные значения счетчика только (1 такой строки в настоящее время). I судимого
select class_room.ID_ROOM as crid, class_room.LOCATION, schedule.DAY as d, schedule.HOUR as h, count(courses.COURSE_ID) as count
from schedule
natural join class_room
natural join courses
group by crid, d, h
having max(count)
order by count desc;
Но возвращает пустую таблицу. Что не так? Или, может быть, предложение другого решения, чтобы получить то, что мне нужно?
Не могли бы вы дать ae набор данных xample для тестирования? Например. к скрипту SQL. –
Я добавил все данные. Я делаю свой тест с – Sergey
Замените 'max (count)' на 'count (курсы.COURSE_ID) = 1'. –