我对如何在没有案例的情况下创建群组感到疑惑。
我确实有这样的数据:
date1 date2 random num,ber rank within group
01.01.2016 01.01.2016 0.6818 1
01.01.2016 01.01.2016 0.5213 2
01.01.2016 01.01.2016 0.5017 3
01.01.2016 01.01.2016 0.4305 4
01.01.2016 01.01.2016 0.4087 5
01.01.2016 01.01.2016 0.3646 6
31.1.2016 31.1.2016 0.173 1
31.1.2016 31.1.2016 0.1577 2
31.1.2016 31.1.2016 0.1577 3
31.1.2016 31.1.2016 0.1462 4
31.1.2016 31.1.2016 0.1462 5
04.02.2016 04.02.2016 0.5279 1
04.02.2016 04.02.2016 0.4354 2
04.02.2016 04.02.2016 0.4098 3
04.02.2016 04.02.2016 0.387 4
04.02.2016 04.02.2016 0.3823 5
我想创建一个名为NUMBER OF GROUP的新属性。 我想要
01.01.2016 = 1, 31.01.2016 as 2, 04.02.2016 as 3.
你知道在没有情况下如何做到这一点的任何技巧吗?
我试过了:
rank () over (partition by a.date1 order by a.date2 ASC) as group_number
但我只得到1。
感谢您的帮助。 巴
答案 0 :(得分:3)
如果我理解你想获得任何日期的排名。您可以使用DENSE_RANK()
select date1, date2 ,random_number, DENSE_RANK() over (order by date1) as rnk
from your_table