[英]SQL (for teradata)
如果我有如下數據集:
1/01/2014 a
2/01/2014 a
3/01/2014 a
4/01/2014 b
5/01/2014 b
6/01/2014 b
7/01/2014 b
8/01/2014 a
9/01/2014 a
10/01/2014 a
11/01/2014 a
12/01/2014 a
13/01/2014 a
我將如何獲得如下所示的輸出:
letter min max
a 1/01/2014 3/01/2014
b 4/01/2014 7/01/2014
a 8/01/2014 13/01/2014
Teradata支持窗口功能。 您需要計算一個組標識符。 一種方法是行號的不同:
select letter, min(date), max(date)
from (select t.*,
(row_number() over (order by date) -
row_number() over (partition by letter order by date)
) as grp
from t
) t
group by letter, grp;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.