|
Пересечение диапазонов номеров
|
|||
---|---|---|---|
#18+
Stax, Да, почти: 1) для каждого select 1 gr, 21 no_beg, 21 no_end from генерить не больше 5-ти элементов (да, но в рамках каждой группы, т.е. собрать все числа из гр.1 (может быть из нескольких строк) и выдать название группы и 5 первых чисел по ней) 2) дистинкт в рамках gr - да (по собранному из разных строк с этой группой) 3) берем <=5 строк в пределах группы (да, см. п1) 4) берём <=5 групп 4) listagg (Группа 1: номера по ней (до 5 номеров) Группа 2: номера по ней (до 5 номеров) ... Группа 8: номера по ней (до 5 номеров) до 5 групп (группа 8 - не по порядку а по названию) Ещё там во внутреннем запросе считается count без обрезания (для того, чтобы потом добавить обработку исключения и слово ' и другие'). Было бы идеально, если бы count считался при любом из 2-х переполнений (>=5). Либо выводился какой-то признак когда больше 5. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2021, 18:05 |
|
Пересечение диапазонов номеров
|
|||
---|---|---|---|
#18+
В общем, немного упростив (без группировки по группам) сделал так: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22.
... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2021, 20:59 |
|
|
start [/forum/topic.php?fid=52&gotonew=1&tid=1880117]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
69ms |
get topic data: |
10ms |
get first new msg: |
8ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
others: | 245ms |
total: | 427ms |
0 / 0 |