
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
07.09.2018, 10:57
|
|||
|---|---|---|---|
|
|||
Интервалы дат |
|||
|
#18+
В таблице несколько записей с интервалами дат: 22.09.18 10.10.18 23.09.18 11.10.18 24.09.18 12.10.18 25.09.18 13.10.18 26.09.18 14.10.18 27.09.18 15.10.18 23.10.18 10.11.18 24.10.18 11.11.18 Нужно "схлопнуть" пересекающиеся интервалы, в данном примере должно получиться на выходе запроса: 22.09.18 15.10.18 23.10.18 11.11.18 Подскажите как написать запрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.09.2018, 11:01
|
|||
|---|---|---|---|
|
|||
Интервалы дат |
|||
|
#18+
Dimets, хотя, в вашем случае всё гораздо проще: группировать по разности между датой и row_number-ом в сортировке по этой самой дате... так сказать, по "инварианту группы"... тоже, кстати можно поискать на форуме , если что... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.09.2018, 11:07
|
|||
|---|---|---|---|
|
|||
Интервалы дат |
|||
|
#18+
Щукина АннаDimets, хотя, в вашем случае всё гораздо проще: группировать по разности между датой и row_number-ом в сортировке по этой самой дате... так сказать, по "инварианту группы"... тоже, кстати можно поискать на форуме , если что...таки нет. у вас же интервалы, а не последовательный список дат... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.09.2018, 11:12
|
|||
|---|---|---|---|
|
|||
Интервалы дат |
|||
|
#18+
Щукина АннаDimets, хотя, в вашем случае всё гораздо проще: группировать по разности между датой и row_number-ом в сортировке по этой самой дате... так сказать, по "инварианту группы"... тоже, кстати можно поискать на форуме , если что... да, это немного не то ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.09.2018, 11:19
|
|||
|---|---|---|---|
|
|||
Интервалы дат |
|||
|
#18+
Dimets, варианты из первой ссылки, всё же - то, что доктор прописал... задача, максимально приближенная к вашей: ссылко Не обращайте внимания, что там MS SQL. Решение один-в-один на оракле пишется. Просто этот пост весьма нагляден. "С картинками", что называется... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.09.2018, 11:42
|
|||
|---|---|---|---|
Интервалы дат |
|||
|
#18+
Щукина АннаDimets, варианты из первой ссылки, всё же - то, что доктор прописал... задача, максимально приближенная к вашей: ссылко Не обращайте внимания, что там MS SQL. Решение один-в-один на оракле пишется. Просто этот пост весьма нагляден. "С картинками", что называется... Объединение диапазонов дат идущих подряд ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.09.2018, 11:48
|
|||
|---|---|---|---|
|
|||
Интервалы дат |
|||
|
#18+
StaxОбъединение диапазонов дат идущих подряд ..... staxсуть решения не меняется. пересечения отрабатываются также корректно, как и следующие последовательно друг за другом интервалы... более того, там в решении пересечения создаются искусственно, посредством сдвига даты окончания диапазона на один день вперед... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.09.2018, 11:56
|
|||
|---|---|---|---|
Интервалы дат |
|||
|
#18+
Щукина Анна, "идущих подряд" решается намного проще - rownum ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.09.2018, 11:59
|
|||
|---|---|---|---|
|
|||
Интервалы дат |
|||
|
#18+
StaxЩукина Анна, "идущих подряд" решается намного проще - rownum ..... staxидущих подряд дат - собрать в диапазоны - да,проще через row_number. но суть в том, что там не даты идущие подряд, а диапазоны дат (причем - разновеликие - есть подлиннее, есть покороче). и тут row_number-а уже не хватит... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.09.2018, 12:04
|
|||
|---|---|---|---|
Интервалы дат |
|||
|
#18+
Щукина Анна, конешно не катит, поетому пользуем решение Доброго-Еха Объединение временных промежутков ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.09.2018, 12:13
|
|||
|---|---|---|---|
Интервалы дат |
|||
|
#18+
Щукина Анна но суть в том, что там не даты идущие подряд, а диапазоны дат (причем - разновеликие - есть подлиннее, есть покороче). и тут row_number-а уже не хватит... сдвиг на один день, длина тож вроде одинаковая (19) если не магия данных, то -rownum хватит ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.09.2018, 12:21
|
|||
|---|---|---|---|
Интервалы дат |
|||
|
#18+
переборол лентяйство и набрал тестовые магия данных Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. .... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.09.2018, 12:48
|
|||
|---|---|---|---|
|
|||
Интервалы дат |
|||
|
#18+
Stax, Если добавить вот эту строку, то возникает не работает: Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.09.2018, 12:55
|
|||
|---|---|---|---|
|
|||
Интервалы дат |
|||
|
#18+
Stax, Можно попробовать вот так: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.09.2018, 13:03
|
|||
|---|---|---|---|
Интервалы дат |
|||
|
#18+
mibinStax, Если добавить вот эту строку, то возникает не работает: Код: plsql 1. Код: plsql 1. 2. 3. 4. 5. сдвиг на один день, длина тож вроде одинаковая (19) ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.09.2018, 13:09
|
|||
|---|---|---|---|
Интервалы дат |
|||
|
#18+
mibin, мое решение 21668009 в общем случае неверное (или просто неверное), магия данных ето скорее схлопнуть последовательность интевальчиков через "один" день одной длины непрерывные интевалы (схлопнуть) красиво решил Добрый-Ех ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=52&tablet=1&tid=1883486]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
162ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 507ms |

| 0 / 0 |
