|
Вычисление даты смены значения
|
|||
---|---|---|---|
#18+
Всем привет, Есть таблица из 3 столбцов (на самом деле больше, тут просто выдержка): id, date, flg. В поле flg есть 2 варианта "Y" и "N" , они чередуются и необходимо отследить даты смены. При этом даты в столбце 2 идут по нарастающей независимо от того меняется значение в 3 столбце или нет. Условно так 1 13.05.2021 Да 2 13.05.2021 Нет 1 14.05.2021 Да 2 14.05.2021 Да 1 15.05.2021 Нет 2 15.05.2021 Да 1 16.05.2021 Нет 2 16.05.2021 Да 1 17.05.2021 Да 2 17.05.2021 Нет Нужно привести к формату 1 13.05.2021 Да 1 15.05.2021 Нет 1 17.05.2021 Да 2 13.05.2021 Нет 2 14.05.2021 Да 2 17.05.2021 Нет Прописан был запрос Select Id, Flg, Min(date) over (partition by id, flg order by date) from table Но возвращает только минимальные даты, не обращая внимания на смены. Где я ошибся? Только начал осваивать оконные функции, но затупил ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2021, 13:41 |
|
Вычисление даты смены значения
|
|||
---|---|---|---|
#18+
Tayler_Divers, если позволяет версия, то lead или lag ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2021, 14:18 |
|
Вычисление даты смены значения
|
|||
---|---|---|---|
#18+
Tayler_Divers, Код: sql 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2021, 14:25 |
|
Вычисление даты смены значения
|
|||
---|---|---|---|
#18+
HandKot, Прописал lag вместо min, но результатом вышло последовательно по каждому id и дню, кроме первой даты каждого Да или Нет.. или внутри over тоже должно быть по-другому ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2021, 16:16 |
|
Вычисление даты смены значения
|
|||
---|---|---|---|
#18+
Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2021, 16:24 |
|
|
start [/forum/topic.php?fid=46&fpage=22&tid=1684607]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
65ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 267ms |
total: | 432ms |
0 / 0 |