したがって、同じ日付に従ってシーケンスを検索する必要があります。
ここにトリックがあります:row_number()
の違いを理解する場合 グループ全体とrow_number()
code
で分割 の場合、同じコードを持つ隣接する行に対して一定になります。残りは単なる集約です:
select min(date), max(date), code
from (select t.*,
(row_number() over (order by date) -
row_number() over (partition by code order by date)
) as grpid
from followingdata t
) t
group by grpid, code;