gpt4 book ai didi

SQL - SUM、Distinct 和 TOP 4

转载 作者:行者123 更新时间:2023-12-04 19:58:08 24 4
gpt4 key购买 nike

我有一个无法开始工作的表查询。

下面是表格示例;

成员:

|ID|NAME|
|1 |John|
|2 |Joe |
|3 |Paul|

表格分数:

|ID  |Score |                       
|1 | 25 |
|1 | 34 |
|2 | 54 |
|1 | 23 |
|3 | 43 |
|2 | 14 |
|1 | 23 |
|3 | 43 |
|3 | 14 |
|3 | 43 |
|2 | 14 |
|1 | 23 |
|3 | 43 |
|3 | 14 |

我想显示成员名称,然后将最好的 2 个分数求和,并首先显示最大的 SUM 分数。

|Paul| 86 |
|Joe | 68 |
|John| 57 |

提前致谢

最佳答案

您可以使用 row_number 窗口函数为每个 id 获得 TOP 2 分数,然后使用 group by 对其求和,最后加入 MEMBERS 表,例如:

select MEMBERS.name, tt.s from MEMBERS
inner join (
select ID, sum(Score) s from (
select ID, Score, row_number() over(partition by ID order by Score desc) rn from SCORES
) t
where rn <= 2
group by id
)tt
on MEMBERS.id = tt.id
ORDER BY tt.s

关于SQL - SUM、Distinct 和 TOP 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44009575/

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