|
|
|
SQL-запрос (может просто, но в голову ничего не приходит)
|
|||
|---|---|---|---|
|
#18+
Нужно сделать, именно, в SQL запросе. Из таблицы: ID DATE_BEG DATE_END 1 01.01.2006 14.01.2006 1 12.01.2006 16.01.2006 1 17.01.2006 19.01.2006 1 21.01.2006 23.01.2006 1 24.01.2006 31.01.2006 Получить таблицу: ID DATE_BEG DATE_END 1 01.01.2006 19.01.2006 1 21.01.2006 31.01.2006 Т.е. сгруппировать по неразрывным интервалам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2007, 11:32 |
|
||
|
SQL-запрос (может просто, но в голову ничего не приходит)
|
|||
|---|---|---|---|
|
#18+
vick057Нужно сделать, именно, в SQL запросе. Из таблицы: ID DATE_BEG DATE_END 1 01.01.2006 14.01.2006 1 12.01.2006 16.01.2006 1 17.01.2006 19.01.2006 1 21.01.2006 23.01.2006 1 24.01.2006 31.01.2006 Получить таблицу: ID DATE_BEG DATE_END 1 01.01.2006 19.01.2006 1 21.01.2006 31.01.2006 Т.е. сгруппировать по неразрывным интервалам. ИМХО, в SQL-запросе это не сделать, так как, по определению, SQL работает с множествами и порядок следования элементов множества может быть произвольным. Order By действует уже на результат выборки. Именно для таких случаев используются разные "SQL-языки программирования" типа PL/SQL, T-SQL и т.д. Твою задачу (правда для номеров телефонов, а не для дат, но это мелочи) я решил через Хранимую Процедуру (она на PL/SQL, но, думаю, разобраться несложно): Код: plaintext 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. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2007, 11:53 |
|
||
|
SQL-запрос (может просто, но в голову ничего не приходит)
|
|||
|---|---|---|---|
|
#18+
Да, согласен с тобой, одним SQL не обойтись. В алгоритме разобрался, реализовать не проблема. Спасибо за помощь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2007, 12:29 |
|
||
|
SQL-запрос (может просто, но в голову ничего не приходит)
|
|||
|---|---|---|---|
|
#18+
Станислав С ИМХО, в SQL-запросе это не сделать, так как, по определению, SQL работает с множествами и порядок следования элементов множества может быть произвольным. Order By действует уже на результат выборки. Станислав С , В оракле есть замечательная функция OVER, которая Не требует наличия Group By Позволяет определить окно и сортировку в нем... Очень интересная функция ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2007, 14:31 |
|
||
|
SQL-запрос (может просто, но в голову ничего не приходит)
|
|||
|---|---|---|---|
|
#18+
А в DB2 есть что-нибудь подобное? Over нету, я посмотрел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2007, 15:22 |
|
||
|
|

start [/forum/topic.php?fid=41&fpage=212&tid=1589863]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
53ms |
get topic data: |
12ms |
get forum data: |
4ms |
get page messages: |
34ms |
get tp. blocked users: |
2ms |
| others: | 238ms |
| total: | 375ms |

| 0 / 0 |
