gpt4 book ai didi

sql - 如何计算 SQL Server 中的唯一排名(没有任何重复)?

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

我想计算唯一排名,但我得到重复排名

这是我的尝试:

SELECT 
TG.EMPCODE,
DENSE_RANK() OVER (ORDER BY TS.COUNT_DEL DESC, TG.COUNT_TG DESC) AS YOUR_RANK
FROM
(SELECT
EmpCode,
SUM(CASE WHEN Tgenerate = 1 THEN 1 ELSE 0 END) AS COUNT_TG
FROM
TBLTGENERATE1
GROUP BY
EMPCODE) TG
INNER JOIN
(SELECT
EMP_CODE,
SUM(CASE WHEN STATUS = 'DELIVERED' THEN 1 ELSE 0 END) AS COUNT_DEL
FROM
TBLSTAT
GROUP BY
EMP_CODE) TS ON TG.EMPCODE = TS.EMP_CODE;

我得到的输出是这样的:

EID Rank
---------
102 1
105 2
101 2
103 3
106 4

105 和 101 的排名相同。

如何计算唯一排名?

最佳答案

使用 ROW_NUMBER() 代替 DENSE_RANK():

SELECT TG.EMPCODE, 
ROW_NUMBER() OVER (ORDER BY TS.COUNT_DEL DESC, TG.COUNT_TG DESC) AS YOUR_RANK

然后将给平局按顺序排名。

关于sql - 如何计算 SQL Server 中的唯一排名(没有任何重复)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48286897/

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