|
Можно ли заменить конструкцию max() KEEP (DENSE_RANK) на аналитическу функцию over
|
|||
---|---|---|---|
#18+
Добрый день! Ранее писал уже тему, ссылка ниже. https://www.sql.ru/forum/1336132/vyvesti-znachenie-pri-maksimalnom-value-i-prosummirovat-vse-ostalnye-value Напомню пример: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Можно ли здесь уйти от группировки и от max() KEEP (DENSE_RANK), заменив это на аналитическую функцию, к примеру over? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2021, 15:44 |
|
Можно ли заменить конструкцию max() KEEP (DENSE_RANK) на аналитическу функцию over
|
|||
---|---|---|---|
#18+
zorlo Можно ли здесь уйти от группировки и от max() KEEP (DENSE_RANK), заменив это на аналитическую функцию, к примеру over? Можно, но зачем? Код: plsql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2021, 16:19 |
|
Можно ли заменить конструкцию max() KEEP (DENSE_RANK) на аналитическу функцию over
|
|||
---|---|---|---|
#18+
А я не понял сути вопроса: вам сгруппированные строки нужны или именно все строки? Ну если второе (как в последнем ответе), то добавьте тогда over(partition by ... ) в сам KEEP (DENSE_RANK...) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2021, 16:56 |
|
Можно ли заменить конструкцию max() KEEP (DENSE_RANK) на аналитическу функцию over
|
|||
---|---|---|---|
#18+
zorlo, Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25.
..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
08.06.2021, 17:16 |
|
Можно ли заменить конструкцию max() KEEP (DENSE_RANK) на аналитическу функцию over
|
|||
---|---|---|---|
#18+
=nomad=, Цель была уйти от групповой функции к аналитической ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2021, 10:03 |
|
Можно ли заменить конструкцию max() KEEP (DENSE_RANK) на аналитическу функцию over
|
|||
---|---|---|---|
#18+
andrey_anonymous, Так работает, но получаются дубли, я тоже думал про это решение, но как уйти от дублей не знаю. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2021, 10:07 |
|
Можно ли заменить конструкцию max() KEEP (DENSE_RANK) на аналитическу функцию over
|
|||
---|---|---|---|
#18+
Stax, Работает, но tr у меня текстовое поле, плохой пример привёл(( Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2021, 10:15 |
|
Можно ли заменить конструкцию max() KEEP (DENSE_RANK) на аналитическу функцию over
|
|||
---|---|---|---|
#18+
Вот так попробовал, но это лишний подзапрос, нужно уложить в один запрос Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2021, 10:19 |
|
Можно ли заменить конструкцию max() KEEP (DENSE_RANK) на аналитическу функцию over
|
|||
---|---|---|---|
#18+
zorlo, Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26.
...... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2021, 11:22 |
|
Можно ли заменить конструкцию max() KEEP (DENSE_RANK) на аналитическу функцию over
|
|||
---|---|---|---|
#18+
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35.
SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2021, 12:39 |
|
|
start [/forum/search_topic.php?author=_%D0%9F%D1%80%D0%BE%D1%85%D0%BE%D0%B6%D0%B8%D0%B9_&author_mode=last_topics&do_search=1]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
54ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
others: | 1109ms |
total: | 1278ms |
0 / 0 |