gpt4 book ai didi

sql - Azure SQL 数据库行号无法正常工作

转载 作者:行者123 更新时间:2023-12-02 07:59:51 25 4
gpt4 key购买 nike

我正在尝试在 Azure SQL 数据库的实例上运行 ROWNUMBER。它就是行不通。

;WITH cteA AS
(
SELECT 1 as Test1, 2 as Test2, 3 as Test3
UNION ALL Select 1, 1, 1
UNION ALL Select 1, 1, 1
UNION ALL Select 2, 1, 3
UNION ALL Select 2, 1, 3
)
SELECT
*,
ROW_NUMBER() OVER (PARITION BY a.test1 ORDER BY A.test1) AS RN
FROM
cteA A

这是我得到的输出:

Test1   |Test2   |Test3   |RN
1 |1 |1 |1
1 |1 |1 |2
1 |2 |3 |3
2 |1 |3 |1
2 |1 |3 |2

不知道为什么?我预计 RN 为 1-1-1-2-2

最佳答案

鉴于您的预期结果,我认为您实际上想要:

DENSE_RANK() OVER(ORDER BY A.test1)

这会为您提供一个增量数字,每次 Test1 更改时该数字都会增加 1。

<强> Demo on DB Fiddle :

Test1 | Test2 | Test3 | RN----: | ----: | ----: | :-    1 |     1 |     1 | 1                   1 |     1 |     1 | 1                   1 |     2 |     3 | 1                   2 |     1 |     3 | 2                   2 |     1 |     3 | 2               

关于sql - Azure SQL 数据库行号无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58845627/

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