|
Непрерывный диапазон (другой случай)
|
|||
---|---|---|---|
#18+
Добрый день! Есть задачка на непрерывный диапазон: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Надо вывести в таком виде: Код: plsql 1. 2. 3. 4. 5.
Предполагаю что как-то с keep(dense_rank last...) или lead, но конечное решение ещё не созрело. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2021, 20:59 |
|
Непрерывный диапазон (другой случай)
|
|||
---|---|---|---|
#18+
ARRay001, Сейчас придет Элик и скажет тебе - поищи про start_of_group ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2021, 21:11 |
|
Непрерывный диапазон (другой случай)
|
|||
---|---|---|---|
#18+
oragraf, интересная фишка - разбираюсь, но пока где-то рядом только... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2021, 21:27 |
|
Непрерывный диапазон (другой случай)
|
|||
---|---|---|---|
#18+
ARRay001, Из приведенного примера непонятно чем не устраивает элементарная ? группировка Код: plsql 1. 2. 3. 4.
Regards Maxim ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2021, 21:40 |
|
Непрерывный диапазон (другой случай)
|
|||
---|---|---|---|
#18+
Maxim Demenko, эта стандартная штука даст результат min и max только по уникальным num1, а надо ещё ориентироваться на непрерывные последовательности в num2 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2021, 21:52 |
|
Непрерывный диапазон (другой случай)
|
|||
---|---|---|---|
#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.
SY. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 00:15 |
|
Непрерывный диапазон (другой случай)
|
|||
---|---|---|---|
#18+
SY, спасибо! Но это только с 12-й версии как я понял. А в 11-й (надо на эту версию) наверное надо всё-таки через алгоритм start_of_group... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 00:33 |
|
Непрерывный диапазон (другой случай)
|
|||
---|---|---|---|
#18+
ARRay001, по старинке Код: 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.
..... stax ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2021, 11:25 |
|
Непрерывный диапазон (другой случай)
|
|||
---|---|---|---|
#18+
Stax, Спасибо за решение - очень помогло! Если бы ещё понять как это group by num2-rn - представить трудно. Может ещё кто кинет ссылочку на описание этого (start_of_group) и подобных интересных алгоритмов (может есть такой ресурс)? А то, кроме этого форума, нигде не встречал... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2021, 09:21 |
|
Непрерывный диапазон (другой случай)
|
|||
---|---|---|---|
#18+
ARRay001 Если бы ещё понять как это group by num2-rn - представить трудно. Да, изящно. row_number() over (partition by num1 order by num2) rn num1 = 2 (num2 - rn): 12 - 1 = 11 -> группа 1 13 - 2 = 11 -> группа 1 22 - 3 = 19 -> группа 2 23 - 4 = 19 -> группа 2 24 - 5 = 19 -> группа 2 25 - 6 = 19 -> группа 2 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2021, 14:16 |
|
|
start [/forum/topic.php?fid=52&fpage=26&tid=1880460]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 255ms |
total: | 377ms |
0 / 0 |