簡體   English   中英

SQL(用於Teradata)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM