表:MAST_CAT_HS如何在MySQL中選擇多個相同課程的最高分數?
EMPLID | CONV_GRADE_OFF | MAST_CAT
1 90 CHEM
1 90 PHSC
1 75 MATH
1 95 MATH
1 50 ENGL
1 90 MATH
1 90 CHEM
1 90 PHSC
1 65 BUS
2 90弊
2 80 MATH
想要得到的結果是這樣的:
EMPLID | CONV_GRADE_OFF | MAST_CAT
1 90 CHEM
1 90 PHSC
1 95 MATH
1 50 ENGL
1 65 BUS
2 90 ENGL
2 80 MATH
不幸的是,我們不能在MAST_CAT列=任何假設( 這裏是我的query.It不相同的課程和同分多行合併成 單列。 我的做法是這樣的:
SELECT sr1.EMPLID, sr1.CONV_GRADE_OFF, sr1.MAST_CAT
FROM MAST_CAT_HS sr1
LEFT JOIN MAST_CAT_HS sr2
ON sr1.EMPLID = sr2.EMPLID
AND sr1.MAST_CAT = sr2.MAST_CAT
AND sr1.CONV_GRADE_OFF < sr2.CONV_GRADE_OFF
WHERE sr2.EMPLID IS NULL
這將是我們更容易幫助你,如果你設置了[SQL小提琴](http://sqlfiddle.com/) –
http://stackoverflow.com/questions/2615697/mysql-biggest-value-from-two-fields ---這也許? – Ariane
如果在SELECT之後添加了'DISTINCT'關鍵字,或者您在'WHERE'子句後面添加了'GROUP BY sr1.EMPLID,sr1.CONV_GRADE_OFF,sr1.MAST_CAT',那麼您的查詢將返回指定的結果集。 – spencer7593