gpt4 book ai didi

sql - 添加一列,其值基于另一列的最大值

转载 作者:行者123 更新时间:2023-11-29 14:09:18 25 4
gpt4 key购买 nike

假设我有以下数据

game    name    score
A Jon 100
A Jon 110
A Jen 105
B Jen 110
B Jon 100
B Jon 105

我想在数据中添加一列,其中包含每场比赛得分最高的球员的姓名,而不会丢失数据中的任何行或执行连接。

game    name    score   best_player
A Jon 100 Jon
A Jon 110 Jon
A Jen 105 Jon
B Jen 115 Jen
B Jon 100 Jen
B Jon 105 Jen

是否有一个 SQL 查询可以在不需要任何连接的情况下添加最佳球员列?我可以使用以下查询获得最高分

select *, max(score) over(partition by game) as highscore


game name score highscore
A Jon 100 110
A Jon 110 110
A Jen 105 110
B Jen 115 115
B Jon 100 115
B Jon 105 115

但是我不确定如何仅使用不折叠数据或使用连接的分析函数将得分最高的玩家的名字拉入新列。这可能吗?

最佳答案

你想要first_value():

select *, max(score) over (partition by game) as highscore,
first_value(name) over (partition by game order by score desc) as highscorer

关于sql - 添加一列,其值基于另一列的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48870653/

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