如何解决如何通过引用SQL中的日期进行计数
我有如下表格。
table
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
首先我想group
之前customer
product customer surrender_date
A a 2020/5/1
B a 2020/6/1
第二,我想通过从rank
转到surrender_date
来newest
我想要的结果就像下面的
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
有什么办法可以做到这一点?
由于我从未提及过date
,如果有人有意见,请告诉我。
解决方法
您可以使用窗口功能:
select
t.*,row_number() over(partition by customer order by surrender_date desc) rnk
from mytable
注意:
-
我不知道问题与聚合有关
-
取决于您要如何处理关系,您可能正在寻找
rank()
或dense_rank()
而不是row_number()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。