我有这个简单的查询:
SELECT
score,subject_name
FROM exams_scores,subjects
WHERE (admission_no = 2771) AND(subjects.subject_code = exams_scores.subject_code)
这给了我:所有5条记录均符合预期。
如果我做:
SELECT
score,
subject_name,
SUM (score) as TOTAL
FROM exams_scores,subjects
WHERE (admission_no = 2771) AND (subjects.subject_code = exams_scores.subject_code)
我只得到第一分。如果要获得所有分数及其总和,我应该使用什么。
样本数据
admission_no subject score
1000 Engligh 80
1000 Math 90
1000 Physics 70
2000 English 45
2000 Math 80
2000 Physics 90
我正在尝试获取特定入场券的所有分数,否加上总数
所以我期望:
入场编号:1000,
得分:80,90,70
合计:240
最佳答案
听起来您正在寻找可以使用工会进行汇总的内容。
SELECT score,subject_name
FROM exams_scores,subjects
WHERE (admission_no = 2771) AND(subjects.subject_code = exams_scores.subject_code)
UNION ALL
SELECT sum(score), 'Total'
FROM exams_scores
WHERE (admission_no = 2771)
关于mysql - 具有聚合功能的MySQL Select,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28913128/