2013-09-10 111 views
0

我想根據一個時間段及其以下時間段的出現次數來顯示條件的計數。SQL連續出現次數

比方說,這是表格的佈局

Key1  | Key2    | Key3   | emailSent_Date | 
08/01/2013| 0097A    | 0097A   | 07/01/2013  | 
07/01/2013| 0097A    | 0097A   | 08/01/2013  | 
06/01/2013| 0097A    | 0097A   | 08/01/2013  | 

所需的輸出:SQL查詢來獲取KEY2和KEY3出現的計數的時間段和它下面timperiods。計數必須是連續的。

這裏,對於8月份的key2和key3發生了3次。但是,在七月份,key2和key3只發生了兩次。對不起,如果我把它變得複雜。

Key1  | Key2    | Key3   | emailSent_Date | Count | 
08/01/2013| 0097A    | 0097A   | 07/01/2013  | 3  | 
07/01/2013| 0097A    | 0097A   | 08/01/2013  | 2  | 
06/01/2013| 0097A    | 0097A   | 08/01/2013  | 1  | 

回答

0

我覺得這正是row_number()做:

select key1, key2, key3, emailSent_Date, 
     row_number() over (partition by key2, key3 order by key1) as "Count" 
from "table";