我有这个
------------------------------------
course_id | total marks | year
------------------------------------
1 50 1 -------> I want to remove this from the sum
2 50 1
3 50 1
1 100 2
------------------------------------
我真的不知道该怎么做,
我有3门不同的课程,
而且我想获得总分的总和,但考虑到最大年份,则有一个不同的course_id,结果应该是200,请提前谢谢
解决方法:
您需要使用子查询来确定每门课程的最大年份,然后将其与表格再次合并以获得分数:
SELECT SUM(`total marks`)
FROM `table`
NATURAL JOIN (
SELECT course_id, MAX(year) AS year
FROM `table`
GROUP BY course_id
) AS y
在sqlfiddle上看到它.