获得最大的价值SQL SUM
问题描述:
后
我有其中包含2分1个student_id数据在一个比赛就像在下面的照片获得最大的价值SQL SUM
现在这个样子SQL表中有很多Student_profile_ID和Basketball_Match_ID 。我想让Student_profile_ID相同,然后在想要获得谁获得最高分之后添加分数。
我能总结然后但没有能够得到MAX值
SELECT student_profile_id,
sum(point) as total_point
from `basketball_points`
where student_profile_id = {$value2}
AND basketball_match_id = {$key3}
如果Foreach循环帮我增加值在PHP。并检查所有的结果
答
我想你想用order by
和limit
一起group by
。这里的想法是:
select student_profile_id, sum(point) as total_point
from `basketball_points`
where basketball_match_id = {$key3}
group by student_profile_id
order by total_point desc
limit 1;
注意:如果多个学生绑在一起,这将只给你一名学生。另外,您是否需要where
条款尚不清楚。
如果您想要所有学生的总积分,请忽略limit
子句。
+0
嗯,谢谢你,所以我会处理你的答案 – Lakshya
答
只需使用:
SELECT
student_profile_id,
max(point) as max_point,
sum(point) as total_points
FROM
`basketball_points`
WHERE student_profile_id = {$value2} AND basketball_match_id = {$key3}
我不明白你想要什么。你能告诉我们你期望的结果吗? – JesusTheHun
我想你只是想'分组'。 –
对于我来说,还不清楚为什么你在同一篮球比赛中为同一名球员保存多个分数,看起来像一个db设计错误给我。也不清楚其中最大的是什么。你的意思是一个玩家的最大单一得分'{$ value2}'一个玩家的最大总和,所有玩家之间的最大总和 –