|
|
|
Хранимая процедура для группировки номеров
|
|||
|---|---|---|---|
|
#18+
есть таблица с номерами http://dl1.joxi.net/drive/0004/3643/302651/141016/046b8a208c.jpg нужно получить список содержащий непрерывные диапазоны т.е. если номера идут списком 4525345345345345,4525345345345346,4525345345345347 группируется в диапазон 4525345345345345-4525345345345347, далее следующий диапазон если номер в диапазоне один то передается одним номером ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 20:59:30 |
|
||
|
Хранимая процедура для группировки номеров
|
|||
|---|---|---|---|
|
#18+
Есть какие то типовые примеры реализации такой задачи или соображения как написать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.10.2014, 21:00:14 |
|
||
|
Хранимая процедура для группировки номеров
|
|||
|---|---|---|---|
|
#18+
pgsql190 , lag+with recursive+distinct on. из диапазона номеров дерево, и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 00:20:57 |
|
||
|
Хранимая процедура для группировки номеров
|
|||
|---|---|---|---|
|
#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. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 00:59:36 |
|
||
|
Хранимая процедура для группировки номеров
|
|||
|---|---|---|---|
|
#18+
V&N, всё гораздо-гораздо проще... достаточно сгруппировать данные по разности между "номером" и row_number-ом: Код: sql 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. on-line проверка на sqlfiddle.com ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 05:28:12 |
|
||
|
Хранимая процедура для группировки номеров
|
|||
|---|---|---|---|
|
#18+
V&N, кстати, если уж на лагах заморачиваться, то можно реализовать так называемый START_OF_GROUP-метод: Код: sql 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. 36. 37. on-line проверка на sqlfiddle.com ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.10.2014, 05:56:46 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=38779294&tid=1998421]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
201ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 237ms |
| total: | 527ms |

| 0 / 0 |
