我有下表
Cat1,Cat2,ColA,ColB, 1,1,1, 2,1,1, 3,1,2, 4,1,3, 5,2,11, 6,2,12, 7,2,12,
我需要在Cat2的每个分组列中添加一个唯一的序号,从1开始,但当Cat1更改时,它必须重新设置为1。
我的输出应该是
行,Id,Cat1,Cat2,ColA,ColB 1,1,1,1, 1,2,1,1, 2,3,1,2, 3,4,1,3, 1,5,2,11, 2,6,2,12, 2,7,2,12,
DENSE_RANK()给出了一个唯一的值。
Row= DENSE_RANK() OVER ( ORDER BY Cat2)但我需要它根据另一列Cat1重新设置自己
发布于 2016-03-29 00:03:46
在Cat1上使用分区BY子句:
Row = DENSE_RANK() OVER ( PARTITION BY Cat1 ORDER BY Cat2)分区BY子句将首先根据您的DENSE_RANK()进行分区,然后再对它们进行密集排序,这正是您所需要的。
https://stackoverflow.com/questions/36272838
复制相似问题