gpt4 book ai didi

MySQL - 获取 sum() grouped max() of group

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

我有如下表结构。每行是一个玩过的游戏,每个人每个月可以玩很多次或不玩。

id  |  person  |  score  |   date  |------------------------------------1   |    32    |  444    | 2011-05 |2   |    65    |  528    | 2011-05 |3   |    77    |  455    | 2011-05 |4   |    32    |  266    | 2011-06 |5   |    77    |  100    | 2011-06 |6   |    77    |  457    | 2011-06 |7   |    77    |  457    | 2011-06 |8   |    65    |  999    | 2011-07 |9   |    32    |  222    | 2011-07 |

我试图为每个人计算每个月最好成绩的总和。上面的结果应该是:

 person  | SUM(ofbestofeachmonth)---------------------------------  32     |  932  65     |  1527  77     |  912

我知道如何获取每个用户在一个月或某个范围内的最佳分数

SELECT person, date, MAX(score) FROM tabgames WHERE MONTH(date) = 6 GROUP BY person HAVING (score>0)

因为我需要每个季度的最终输出,现在我正在为每个月和我正在添加的 MySQL 之外获取最佳结果。

现在我正在阅读 group-wise max 并且仍然试图获得预期的结果。任何帮助

最佳答案

子查询:

SELECT person, SUM(best)
FROM
(SELECT person, MAX(score) as best
FROM tabgames
WHERE MONTH(`date`) >= 1 AND MONTH(`date`) <= 6
GROUP BY person, MONTH(`date`)) as bests
GROUP BY person

现在子查询按人和 MONTH(date) 分组,因此它将为每个月返回一行。

关于MySQL - 获取 sum() grouped max() of group,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6553531/

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