gpt4 book ai didi

sql - 雪花 - Dense_rank 从 2 而不是 1 开始

转载 作者:行者123 更新时间:2023-12-05 01:57:27 33 4
gpt4 key购买 nike

我在查询中使用以下语句:

 CASE WHEN apercent IS NULL THEN NULL ELSE dense_rank() over (partition by adate order by apercent desc) END as arank

出于某种原因,排名结果从 2 而不是 1 开始。没有绑定(bind)值,但有一些 NULL 值。我假设这是因为 NULL。有什么方法可以更新它以强制排名从 1 开始?

当前结果:

<表类="s-表"><头>排名百分之<正文>223.57313.61410.6756.1466.0075.7985.5795.27104.80空空

期望的结果:

<表类="s-表"><头>排名百分之<正文>123.57213.61310.6746.1456.0065.7975.5785.2794.80空空

最佳答案

一个简单的解决方案是使用NULLS LAST:

(CASE WHEN apercent IS NOT NULL
THEN dense_rank() over (partition by adate order by apercent desc nulls last)
END) as arank

或者,您可以按 NULL 值进行分区,这样它们就不会包含在非 NULL 值的计数中:

(CASE WHEN apercent IS NOT NULL
THEN dense_rank() over (partition by adate, apercent is null order by apercent desc)
END) as arank

关于sql - 雪花 - Dense_rank 从 2 而不是 1 开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69317388/

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