2012-05-16 65 views
3

的情況下,選擇最大值我有這個獲取場的總和在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門不同的課程, 和我想要獲得總分數的總和,但考慮到最大年數,結果應該是200,預先感謝您

回答

2

您需要使用子查詢來確定每個課程的最大年份,然後加入與表再次獲得n標記:

​​

請參閱sqlfiddle

2

像這樣簡單:

SELECT SUM(m) FROM (
        SELECT total_marks AS m 
        FROM  table AS t 
        WHERE year = (
            SELECT MAX(year) 
            FROM table 
            WHERE course_id = t.course_id 
            ) 
        ) AS v