![]() |
|
Модераторы: skyboy |
![]()
|
|
| Gluttton |
|
||||||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: 24 Всего: 54 |
Доброго времени суток!
MS SQL Server 2005. Дана таблица T: (ключ - поле В)
Необходимо получить: (в правой колонке необходимо отобразить сумму всех элементов стлбца С таблицы)
Каким образом можно это получить используя оконные функции? Что то вроде такого:
-------------------- Слава Україні! |
||||||
|
|||||||
| Gudinya |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 2.2.2008 Репутация: 2 Всего: 8 |
Может конечно глупость напишу, но на оракле сработает, может и на MS SQL Server 2005 покатит
а так же сработает
Это сообщение отредактировал(а) Gudinya - 27.10.2009, 02:13 |
||||
|
|||||
| Gluttton |
|
||||||||||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: 24 Всего: 54 |
До этого я смог додуматься В терминах приведенных мною тестовых данных данных запрос выводил сумму для А, В и С, но не для всех вместе.
А вот за это спасибо - возвращает общую сумму! -------------------- Слава Україні! |
||||||||||
|
|||||||||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
Вообще удивительно. В доке указано, что для оконного агрегата предложение partition может быть опущено, однако я не смог найти какое поведение в этом случае ожидать от sql машины. Я вот лично не понимаю, с какого бы бадуна, вдруг, MS SQL нателепал, что секционироваться надо по А. От чегото мне кажется что это бага. Жаль у меня только 2000й интст ейсть для напобаловаться. :( -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| ТоляМБА |
|
|||
![]() Котэ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1607 Регистрация: 15.12.2004 Репутация: 4 Всего: 252 |
эмм... я конечно дико извиняюсь, а разве так нельзя?:
|
|||
|
||||
| Zloxa |
|
|||
|
Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 53 Всего: 161 |
Можно И нужно, оконная функция в таких случаях наверняка окажется мене эффективной Просто Gluttton - ищущая натура -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка |
|||
|
||||
| Gluttton |
|
||||
![]() Начинающий ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1170 Регистрация: 28.8.2008 Где: Феодосия Репутация: 24 Всего: 54 |
Zloxa,
Ну, может и я где то ошибся, т.к. та БД, которую я привожу она условная. Истинная БД несколько сложнее и сложнее запрос. Поэтому может и я где то "прохлопал" какую-нибудь "не важную" деталь. Но! Однозначно могу сказать, что полностью идентичные запросы, которые отличаются лишь:
и
Возвращают разные результаты, причем в первом случае запрос возвращает общую сумму, а во втором случае не полную, а сумму в подгруппах... Добавлено через 8 минут и 27 секунд -------------------- Слава Україні! |
||||
|
|||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Составление SQL-запросов | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |