|
|
|
Посоветуйте статьи с доходчивым объяснением фичи over()
|
|||
|---|---|---|---|
|
#18+
Мне встречались статьи где доходчиво и на примерах объяснялись некоторые расширения SQL в Оракл. Может кто посоветует такую по фичи over(). А то из доки не совсем понятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2003, 09:55 |
|
||
|
Посоветуйте статьи с доходчивым объяснением фичи over()
|
|||
|---|---|---|---|
|
#18+
Я пока знаю только статью Владимира Пржиялковского Аналитические функции в Oracle ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2003, 11:03 |
|
||
|
Посоветуйте статьи с доходчивым объяснением фичи over()
|
|||
|---|---|---|---|
|
#18+
Судя по вашим примерам запросов, вы владеете этой фичей просто мастерски. Особенно впечатлило время исполнения запроса с нарастающим итогов в недавнем топике - вместо 20 сек. - ~0,5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2003, 11:15 |
|
||
|
Посоветуйте статьи с доходчивым объяснением фичи over()
|
|||
|---|---|---|---|
|
#18+
Отковенно говоря, нет. К примеру, до сих пор не могу "с лета" написать фразы наподобе ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW. Возвращаясь к нарастающему итогу: следующий запрос выполняется тоже неплохо и, что немаловажно, должен работать на Oracle 8i Standard Edition: Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2003, 11:25 |
|
||
|
Посоветуйте статьи с доходчивым объяснением фичи over()
|
|||
|---|---|---|---|
|
#18+
небольшая статья про analytic functions... Analytic Functions in Oracle 8i and 9i http://www.akadia.com/services/ora_analytic_functions.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2003, 12:18 |
|
||
|
Посоветуйте статьи с доходчивым объяснением фичи over()
|
|||
|---|---|---|---|
|
#18+
to Denis Popov Возвращаясь к нарастающему итогу: следующий запрос выполняется тоже неплохо Проверила этот запрос на таблице Код: plaintext 1. 2. 3. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. с over Код: plaintext 1. 2. 3. 4. 5. 6. 7. Разница все таки огромная! PS В таблице даты могут повторяться (может пыть несколько поступлений в день), как сделать так, чтобы в результатах каждая дата присутсвовала только 1 раз. Понятно что из запросов inc_value надо исключить, а как и где group by сказать в этом случае. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2003, 12:35 |
|
||
|
Посоветуйте статьи с доходчивым объяснением фичи over()
|
|||
|---|---|---|---|
|
#18+
А поступления за один день надо складывать, выводить какое-то из них или ранжировать в каком-нибудь порядке? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2003, 12:59 |
|
||
|
Посоветуйте статьи с доходчивым объяснением фичи over()
|
|||
|---|---|---|---|
|
#18+
Складывать, т.е. своего рода отчет по сотоянию на окончание дня. Т.е. сначала sum() group by date а потом уже нарастающий итог. Можно вложить эти запросы во что то типа select date, max(summa) from подзапрос group by date это пока единственное что мне пришло в голову. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2003, 13:09 |
|
||
|
Посоветуйте статьи с доходчивым объяснением фичи over()
|
|||
|---|---|---|---|
|
#18+
Можно сперва просуммировать, а потом дать нарастающий итог Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Еще обрати внимание в статье Пржиялковского на абзац "Формирование интервалов агрегирования "по строкам" и "по значениям", что в твоем случае означает использование выражения RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW. Примерно так вроде? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Может еще как-нибудь можно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2003, 13:29 |
|
||
|
Посоветуйте статьи с доходчивым объяснением фичи over()
|
|||
|---|---|---|---|
|
#18+
Блин, у меня данные сгенеренные DataFactory поэтому даты различны по времени, а я думаю почему не группирует:-) Как обрезать временную компоненту для inc_date сделав везде время 00:00:00? update inncome set inc_date = ????; Хотя более правильно было бы время оставить, время дня может тоже понадобиться, а в запросах использовать что то типа to_char(inc_date, 'DD.MM.YYYY') попробовала - ругается в group by. Как быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2003, 14:03 |
|
||
|
Посоветуйте статьи с доходчивым объяснением фичи over()
|
|||
|---|---|---|---|
|
#18+
Хех, trunc(inc_date) или, что то же самое, trunc(inc_date, 'dd'). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2003, 14:06 |
|
||
|
Посоветуйте статьи с доходчивым объяснением фичи over()
|
|||
|---|---|---|---|
|
#18+
Странно почему с trunc() работает а с to_char() нет? Может потому что to_char() тип данных меняет... Проверила, первый запрос отработал за 00:00:00.03, а второй за 00:00:07.02. Подозреваю в этом виноват distinct. Спасибо за помощь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2003, 14:19 |
|
||
|
Посоветуйте статьи с доходчивым объяснением фичи over()
|
|||
|---|---|---|---|
|
#18+
для формата date: 31.12.2001 < 01.01.2002 для char наоборот: 31.12.2001 > 01.01.2002 одинаковые результаты можно получить если использовать формат для char YYYY.MM.DD ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2003, 14:46 |
|
||
|
Посоветуйте статьи с доходчивым объяснением фичи over()
|
|||
|---|---|---|---|
|
#18+
про это для char наоборот: 31.12.2001 > 01.01.2002 я и не подумала, действительно. Но на to_char() он на синтаксис ругался... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2003, 15:32 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=32161381&tid=1990527]: |
0ms |
get settings: |
6ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
54ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 368ms |

| 0 / 0 |
