表:MAST_CAT_HS
EMPLID | CONV_GRADE_OFF | MAST_CAT
1 90 化学
1 90 PHSC
1 75 数学
1 95 数学
1 50 英语
1 90 数学
1 90 化学
1 90 PHSC
1 65 总线
2 90 英语
2 80 数学
想要得到这样的结果:
EMPLID | CONV_GRADE_OFF | MAST_CAT
1 90 化学
1 90 PHSC
1 95 数学
1 50 英语
1 65 总线
2 90 英语
2 80 数学
不幸的是,我们不能对 MAST_CAT 列做出任何假设 =( 这是我的查询。它不会将具有相同课程和相同分数的多行合并为单行。我的方法是:
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