gpt4 book ai didi

sql - 使用 DENSE_RANK 排除空值

转载 作者:行者123 更新时间:2023-12-02 04:26:46 28 4
gpt4 key购买 nike

Dense_Rank 正在考虑一切。有没有办法排除空值,这样 1 之后的下一个排名将是 2 而不是 3。

这就是表格现在的样子:

 A     | DENSE_R 
--------------
1 | 1
--------------
2 | null
--------------
3 | 3
--------------
4 | 4

这就是我想要的表格:

 A     | DENSE_R 
--------------
1 | 1
--------------
2 | null
--------------
3 | 2
--------------
4 | 3

我使用以下代码来执行此操作:-

WITH CTE AS
(
SELECT A
FROM A1
)
SELECT A,
CASE
WHEN **Condition**
THEN DENSE_RANK() OVER (Order by [A] ASC)
END
AS 'DENSE_R'
FROM CTE

最佳答案

使用与您已使用的相同的**条件**进行分区

WITH CTE AS
(
SELECT A
FROM A1
)
SELECT A,
CASE
WHEN **Condition**
THEN DENSE_RANK() OVER (Partition by (case when **Condition** then 1 else 0 end) Order by [A] ASC)
END
AS 'DENSE_R'
FROM CTE

关于sql - 使用 DENSE_RANK 排除空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39984393/

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