![]() |
|
Модераторы: skyboy |
![]()
|
|
| pelikesha |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 22.6.2010 Репутация: нет Всего: нет |
Здравствуйте, прошу помощи в составлении SQL запроса
Таблица: id_r id_p summ mark 001 001 16 2 001 002 15 3 001 003 14 4 002 001 13 3 002 002 16 3 002 003 13 5 002 004 14 3 003 001 16 5 003 002 13 4 003 003 11 5 003 004 16 3 003 005 14 4 Требуемый результат: id_r avg_summ kol 3 001 15 1 002 14 4 003 14 1 Т.е. сгруппировав по id_r, посчитать среднее значение по столбцу summ, а так же количество человек внутри этого id_r с оценкой (mark=3). Сейчас у меня реализованы лишь первые два столбца таблицы:
А вот как добавить количество строк, удовлетворяющих условию - не понимаю... Все попытки были безуспешны. Заранее благодарю за помощь! |
|||
|
||||
| Akina |
|
||||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||
|
|||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
count(/*distinct ?*/ case when mark=3 then id_p end) -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| pelikesha |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 22.6.2010 Репутация: нет Всего: нет |
Akina, спасибо, отписал вам в ЛС... К сожалению выдало ошибку синтаксиса(
Zloxa, не совсем понял вашу запись :( |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 1 Всего: 130 |
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
Я предположил что id_p идентифицирует человека. Вам ведь человеков нужно посчитать, а не записи оценок? ничто не указывает на то, что пара (id_r,id_p) является уникальной. По этой причине, на всякий случай, закоментировал distinct, который следует раскоментировать, если в группе по id_r может быть упомянут несколько раз один человек с оценкой равной три, но посчитаться эти несколько записей должны как одна. По этой же причине используется count а не sum. Count считает не null значения. Если условие в case не вернет истину, значение в count окажется не определенным и не будет посчитано. upd Методика, предложенная Akina посчитает оценки а не человеков. В случае, если человеки не могут быть не определены и пара (человек, оценка) в пределах группы уникальны, это значение будет совпадать с количеством человеков. Это сообщение отредактировал(а) Zloxa - 13.6.2012, 17:24 -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
Больше так не делайте - нарвётесь на пожизненный игнор. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| pelikesha |
|
||||||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 22.6.2010 Репутация: нет Всего: нет |
|
||||||
|
|||||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 1 Всего: 130 |
Правильно, откуда там CASE всякие. -------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 45 Всего: 454 |
Заменяем CASE на IIF... синтаксис - во встроенной справке
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| pelikesha |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 22.6.2010 Репутация: нет Всего: нет |
Огромное спасибо, все получилось. |
|||
|
||||
![]()
|
| 1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Составление SQL-запросов | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |