具有聚合功能的MySQL

具有聚合功能的MySQL

我有这个简单的查询:

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/

10-09 22:01