|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
07.01.2014, 03:25 | #1 |
Пользователь
Регистрация: 28.10.2013
Сообщений: 34
|
Помогите в написании запроса
Всем доброго времени суток!
Возникла проблема с написанием запроса на выборку из таблиц информации. Вообщем есть 3 таблицы связанные между собой: "Ученик" , "Школа" , "Класс", заполняется всё след образом, сначала добавляется школа, затем в таблице "Класс" добавляется класс для этой школы и в "Ученик" заносятся данные об ученике и классе со школой где он учится. Вообщем делаю запрос на выборку общего кол-ва учеников в классах в каждой школе, а нужно сделать чтобы выбиралось МАКСИМАЛЬНОЕ кол-во учеников в классах в разных школах (Вывести названия классов с максимальным количеством учеников в разных школах) Вот собственно текст запроса: select class_name , school_number , count (student.klass_id) from (student join class on student.klass_id = class.id_klass and student.school_id = class.id_school) join school on class.id_school = school.id_school group by class_name , school_number Результат работы на скрине, помогите сделать так чтобы выбирались только по одному классу со школы, в котором максимальное кол-во учеников в сравнении с другими классами в этой школе |
07.01.2014, 05:18 | #2 |
Старожил
Регистрация: 03.01.2014
Сообщений: 2,870
|
Попробуйте использовать функцию MAX()
|
07.01.2014, 11:49 | #3 |
Пользователь
Регистрация: 28.10.2013
Сообщений: 34
|
|
07.01.2014, 18:33 | #4 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,342
|
Код:
Тестировал на схеме: школа - ид школы, название школы класс - ид класса, ид школы, название класса ученик - ид ученика, ид класса, имя ученика Может быть, можно сделать без подзапросов (у меня маленький опыт в составлении запросов).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
07.01.2014, 23:10 | #5 | |
Пользователь
Регистрация: 28.10.2013
Сообщений: 34
|
Цитата:
|
|
07.01.2014, 23:21 | #6 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,342
|
TOP 1 вернет только первую строку из набора, а TOP 1 WITH TIES все первые строки, которые совпадают по параметру ORDER BY, наверное. Подробнее - http://msdn.microsoft.com/ru-ru/library/ms189463.aspx.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
07.01.2014, 23:35 | #7 | |
Пользователь
Регистрация: 28.10.2013
Сообщений: 34
|
Цитата:
|
|
08.01.2014, 10:13 | #8 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
08.01.2014, 11:50 | #9 |
Пользователь
Регистрация: 28.10.2013
Сообщений: 34
|
Аватар, я даже не знаю как тебя благодарить, ты просто МЕГА КРУТОЙ ЧЕЛОВЕК!!!! СПАСИБО ТЕБЕ ОГРОМНОЕ !!!
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите в написании | SrGars | Помощь студентам | 7 | 19.10.2013 15:32 |
моя последняя надежда в написании запроса | hend230 | SQL, базы данных | 0 | 17.12.2012 08:34 |
Помогите в написании кода... | sobol556 | Паскаль, Turbo Pascal, PascalABC.NET | 0 | 23.03.2009 19:49 |
Помогите в написании пожалуйста: | SViRT | Паскаль, Turbo Pascal, PascalABC.NET | 15 | 07.10.2008 21:57 |