gpt4 book ai didi

mysql - 如何根据特定条件对重复值求和

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

我有这样的数据,

Name  |Exam_ID|Score
------+-------+------
Matt |12 | 87
Matt |12 | 85
Andy |10 | 89
Lisa |11 | 32
Lisa |11 | 68
Andy |11 | 38
Matt |10 | 70
Lisa |10 | 87

我想对这些分数求和,但仅限于那些具有不同名称和 exam_id 的分数。如果同名有多个相同的exam_id,则取最高分。我想要的最终结果是这样的:

Name  |Score
------+------
Matt | 157
Andy | 127
Lisa | 155

Matt 获得了 3 分(87、85、70)。但由于 87 和 85 使用相同的 exam_id,我只需要取最高分并将其与获得不同 exam_id 的不同分数相加,这使得他的总分是 87+70 = 157

我一直在尝试使用 MAX,但我无法那样做

SELECT Name, MAX(Exam_ID), SUM(Score) from RESULT
group by NAME;

最佳答案

您需要两个级别的聚合:

select name, sum(max_score)
from (select name, exam_id, max(score) as max_score
from result
group by name, exam_id
) ne
group by name;

关于mysql - 如何根据特定条件对重复值求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38788154/

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