SQL连续出现次数

时间:2013-09-10 20:36:45

标签: sql sql-server

我希望根据条件在一段时间内及其下面的时间段内的出现次数来显示。

让我们说这是表格布局

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次。但是,对于7月份,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     | 

1 个答案:

答案 0 :(得分:0)

我认为这正是row_number()的作用:

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