如何分配 sql 等级? [关闭]
Posted
技术标签:
【中文标题】如何分配 sql 等级? [关闭]【英文标题】:How can the sql ranks be assigned? [closed] 【发布时间】:2022-01-21 05:22:15 【问题描述】:下面给出了一个输入表和一个输出数据集:请您帮我获取输出。提前致谢!
输入表
work date | value | dense rank |
---|---|---|
12/15/2021 | test2 | 2 |
12/16/2021 | test1 | 1 |
12/17/2021 | test2 | 2 |
输出表
work date | value | required rank |
---|---|---|
12/15/2021 | test2 | 1 |
12/16/2021 | test1 | 2 |
12/17/2021 | test2 | 1 |
【问题讨论】:
所需排名背后的逻辑是什么? 你能解释一下你想在这里实现的逻辑吗? 看起来您只是将 2 换成 1,反之亦然。第一张表的目的是什么?这是什么逻辑? 您已从您的问题中删除了第一个表格,因为我们仍然不知道您的要求。 【参考方案1】:你是这个意思吗:
WITH T1 AS
(
SELECT '12/15/2021' AS WorkDate, 'test2' AS Value UNION ALL
SELECT '12/16/2021', 'test1' UNION ALL
SELECT '12/17/2021', 'test2'
),
T2 AS
(
SELECT Value, ROW_NUMBER() OVER (ORDER BY Value DESC) AS RN FROM T1 GROUP BY Value
)
SELECT T1.WorkDate, T1.Value, T2.RN FROM T1
INNER JOIN T2 ON T1.Value = T2.Value
【讨论】:
以上是关于如何分配 sql 等级? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章