如何在sql中引用日期进行计数
我有如下表格如何在sql中引用日期进行计数,sql,oracle,datetime,window-functions,Sql,Oracle,Datetime,Window Functions,我有如下表格 product customer surrender_date rank A a 2020/5/1 2 B a 2020/6/1 1 C b 2019/7/1 3 D b 2020/8/1 2 E b 2020/9/1 1 表格 pro
product customer surrender_date rank
A a 2020/5/1 2
B a 2020/6/1 1
C b 2019/7/1 3
D b 2020/8/1 2
E b 2020/9/1 1
表格
product customer surrender_date
A a 2020/5/1
B a 2020/6/1
C b 2019/7/1
D b 2020/8/1
E b 2020/9/1
首先,我想通过客户
product customer surrender_date
A a 2020/5/1
B a 2020/6/1
其次,我想通过从最新的
日期中重新查找投降日期
来对
进行排序
我期望的结果如下
product customer surrender_date rank
A a 2020/5/1 2
B a 2020/6/1 1
因此,我的全部期望结果如下
product customer surrender_date rank
A a 2020/5/1 2
B a 2020/6/1 1
C b 2019/7/1 3
D b 2020/8/1 2
E b 2020/9/1 1
有没有办法做到这一点
由于我从未提及日期,如果有人有意见,请告诉我。您可以使用窗口功能:
select
t.*,
row_number() over(partition by customer order by surrender_date desc) rnk
from mytable
注:
- 我不明白这个问题与聚合有什么关系
- 根据您处理领带的方式,您可能会寻找
rank()
或densite\u rank()
而不是row\u number()