在重复字段的情况下获取mysql中的字段总和选择最大值

我有这个

------------------------------------
 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上看到它.

上一篇:mysql-通过获取所有表结果将每行concat分组


下一篇:Hive性能优化(全面)