[英]sql query to get selected records based on min (date) and string compare
[英]Oracle SQL Query to get min and min date based the records
輸入:
date1, id, device1, device2
1jul, 1, enable, disable
2jul, 1, enable , disable
3jul, 1, enable, disable
4jul, 1, unknown, enable
5jul, 1, enable, disable
6jul, 1, enable, disable
如何獲得低於輸出:
id, device1,device2, mindate, maxdate
1, enable, disable, 1jul, 3jul
1, unknown, enable, 4jul, 4jul
1, enable, disable, 5th, 6th
這是一種間隙和島嶼問題。 在這種情況下,行號的差異可能是最簡單的解決方案:
select id, device1, device2, min(date1), max(date1)
from (select t.*,
row_number() over (partition by id, device1, device2 order by date1) as seqnum_2,
row_number() over (partition by idorder by date1) as seqnum
from t
) t
group by id, device1, device2, (seqnum - seqnum_2)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.