Задачка (в основном на Оракле) | |
---|---|
sphinx Автор Сообщений: 31180 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Вот интересная задачка, но, видимо, ее можно только на Оракле написать.. Ну, или адаптировать.
Т.е. изменение параметра pr в SELECTах показывает изменение результирующей выборки. Кто справится? P.S. Есть и свой вариант решения.. ;) ------------------ "Veni, vidi, vici!"(с) Исправлено 1 раз(а). Последнее : sphinx, 10.04.14 16:10 |
Re: Задачка (в основном на Оракле) | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
P.S. Написать такое можно на чём угодно - просто придётся UNION использовать там где нету встроенной функциональности подитогов... Формат запроса с With, конечно, тут просто для удобства - чтобы исходные данные отделить от собственно запроса. ------------------ WBR, Igor Исправлено 1 раз(а). Последнее : Igor Korolyov, 10.04.14 17:13 |
Re: Задачка (в основном на Оракле) | |
---|---|
Foxtrot Сообщений: 3408 Откуда: Куда: Дата регистрации: 25.04.2003 |
чтойта мну подсказывает, что задача поставлена не совсем корректна
или я не внимательно читаю ------------------ Мойте ноги, моя ноги вы моете и руки |
Re: Задачка (в основном на Оракле) | |
---|---|
sphinx Автор Сообщений: 31180 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Очень даже корректно. В своем варианте нашел ошибку - у меня в итогах вместо kod_str просто 400 выводилось, а должно 400+(N-1)*10, где N - номер подитогов. А вариант Игоря завтра проверю, возможно его немного допилить надо.. ------------------ "Veni, vidi, vici!"(с) |
Re: Задачка (в основном на Оракле) | |
---|---|
sphinx Автор Сообщений: 31180 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Цитата: str - и нет в результирующей выборке, если сравнить шапку и выводимые данные, то в шапке 6 значений, а выводится 5: MESR - месяц STR - <фиг знает, может относится к MESR, типа MESR_STR> KOD_STR - код строки, т.е. подитоги имеют код 410, 420, 430... (даже не так, месяцев больше 10 !) PR - параметр S1 - сумма 1 S2 - сумма 2 ------------------ "Veni, vidi, vici!"(с) |
Re: Задачка (в основном на Оракле) | |
---|---|
Foxtrot Сообщений: 3408 Откуда: Куда: Дата регистрации: 25.04.2003 |
Цитата:то есть ты и сам не рулишь ситуацией? типа как в загадке про летающих крокодилов? Цитата:ктонить понимает этого уральского парня? доставляет последняя фраза о месяцах, хотя возможно речь идет не о календарных. а не проще показать формулу? или изюминка еще и в том, чтобы разгадать и ее ждемс окончательно утвержденного варианта задачи ------------------ Мойте ноги, моя ноги вы моете и руки |
Re: Задачка (в основном на Оракле) | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
389 + DENSE_RANK() OVER (ORDER BY PR) * 10 +
ROW_NUMBER() OVER(PARTITION BY PR ORDER BY GROUPING(MESR) DESC, MESR) KOD_STR, Ну если логика в том чтобы начинать считать с 400, для каждой группы pr набавлять 10, в рамках группы упорядочивать по месяцу нумеруя последовательно и "итог" ставить первым... P.S. В реальных запросах нах не нужно всё это считать, особенно подобные "номера строк" ------------------ WBR, Igor |
Re: Задачка (в основном на Оракле) | |
---|---|
Foxtrot Сообщений: 3408 Откуда: Куда: Дата регистрации: 25.04.2003 |
до кучи мона прибавить размер кластера системного диска
------------------ Мойте ноги, моя ноги вы моете и руки |
Re: Задачка (в основном на Оракле) | |
---|---|
sphinx Автор Сообщений: 31180 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Игорь, респект!
Все взлетело, как и надо было. ------------------ "Veni, vidi, vici!"(с) |
Re: Задачка (в основном на Оракле) | |
---|---|
sphinx Автор Сообщений: 31180 Откуда: Каменск-Уральски Дата регистрации: 22.11.2006 |
Насколько я понял, именно этой красивой конструкции мне и не хватало:
DENSE_RANK() OVER (ORDER BY PR) ------------------ "Veni, vidi, vici!"(с) |
© 2000-2024 Fox Club  |