gpt4 book ai didi

mysql - 如何获取每个玩家得分最高的行数据

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

例如我有以下数据。

PlayerId, data, score
1, 0, 20
1, 1, 10
2, 0, 30
2, 1, 40
2, 0, 40

如何得到下面的结果?

PlayerId, data, score
1, 0 20
2, 1, 40

对于结果的第 2 行,它是否返回数据 0 而不是 1 并不重要,因为 40 是 0 和 1 的最大分数,返回任何一个都可以,我只为每个玩家返回一行,其中可能包含他的数据最大值(分数)。

最佳答案

SELECT PlayerId,MAX(`data`) AS `data`, MAX(score) AS score
FROM your_table
GROUP BY PlayerId

编辑:

第一个版本将获得两个 MAX 值。现在我看到你想要来自实际行的数据:

SELECT PlayerId, score, MAX(`data`) AS `data`
FROM your_table
WHERE (PlayerId, score) IN (SELECT PlayerId, MAX(score)
FROM your_table
GROUP BY PlayerId)
GROUP BY PlayerId, score;

SqlFiddleDemo

关于mysql - 如何获取每个玩家得分最高的行数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33378413/

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