gpt4 book ai didi

sql-server - 如何重置 DENSE_RANK

转载 作者:行者123 更新时间:2023-12-02 08:22:00 25 4
gpt4 key购买 nike

我有下表

Id,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

我的输出应该是

Row, 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 重置自身

最佳答案

在 Cat1 上使用 PARTITION BY 子句:

Row = DENSE_RANK() OVER ( PARTITION BY Cat1 ORDER BY Cat2)

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

关于sql-server - 如何重置 DENSE_RANK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36272838/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com