【发布时间】:2018-09-14 11:49:12
【问题描述】:
我有一个数据集,我正在尝试对其应用二级排名,但不确定如何去做。
数据集如下:
ID Sequence Event
xxx 1
xxx 2 B
xxx 3 B
xxx 4 B
xxx 5 B
xxx 6 A
xxx 7
xxx 8 C
xxx 9 C
xxx 10 C
xxx 11 C
xxx 12 C
我尝试了一些排名/分区组合,我得到的最接近的是:
DENSE_RANK() OVER (Partition BY ID ORDER BY ID, Event)
但是,当我这样做时,结果排名会以无序的方式对事件进行排名,我知道它是按事件的字母顺序排列的:
ID Sequence Event Event Sequence
xxx 1 1
xxx 2 B 3
xxx 3 B 3
xxx 4 B 3
xxx 5 B 3
xxx 6 A 2
xxx 7 1
xxx 8 C 4
xxx 9 C 4
xxx 10 C 4
xxx 11 C 4
xxx 12 C 4
我尝试将序列添加到 Order by 中,但它不再按照我想要的方式对事件进行分组,而是简单地模拟序列系列。
我希望是这样的:
ID Sequence Event Event Sequence
xxx 1 1
xxx 2 B 2
xxx 3 B 2
xxx 4 B 2
xxx 5 B 2
xxx 6 A 3
xxx 7 1
xxx 8 C 4
xxx 9 C 4
xxx 10 C 4
xxx 11 C 4
xxx 12 C 4
这可能吗?
【问题讨论】:
标签: sql sql-server ranking rank