首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何重置DENSE_RANK

如何重置DENSE_RANK
EN

Stack Overflow用户
提问于 2016-03-28 23:20:37
回答 1查看 1.8K关注 0票数 3

我有下表

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()给出了一个唯一的值。

代码语言:javascript
复制
Row= DENSE_RANK() OVER ( ORDER BY Cat2)

但我需要它根据另一列Cat1重新设置自己

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-29 00:03:46

在Cat1上使用分区BY子句:

代码语言:javascript
复制
Row = DENSE_RANK() OVER ( PARTITION BY Cat1 ORDER BY Cat2)

分区BY子句将首先根据您的DENSE_RANK()进行分区,然后再对它们进行密集排序,这正是您所需要的。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36272838

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档