如何在SQL中的唯一日期保持滚动计数器? (ORACLE)

时间:2014-09-15 20:48:35

标签: sql oracle date

我有一个Customer字段和一个Date字段,我希望我的数据看起来像这样:

Customer | Date  | Count 
=========================
 Frank   | 02/01 |  1 
 Frank   | 03/22 |  2
 Frank   | 12/20 |  3
 Mary    | 01/14 |  1
 Mary    | 05/15 |  2
 Mary    | 11/28 |  3
 Mary    | 12/01 |  4 
 Vince   | 06/09 |  1
 Vince   | 09/09 |  2

基本上是每个客户和每个日期的连续计数器。

谢谢。

1 个答案:

答案 0 :(得分:2)

使用Row_Number()

SELECT Customer, Date, Row_Number() Over (Partition By Customer Order By Date) RN
FROM YourTable
ORDER BY Customer, Date

为了考虑关系,但保留序号,请尝试使用Dense_Rank()代替Row_Number()