SQL Afficher l'enregistrement le plus récent dans GROUP BY?

J'ai une table qui ressemble à ceci:

id    |    SubjectCode    |    Grade    |    DateApproved    |    StudentId

1            SUB123            1.25            1/4/2012            2012-12345

2            SUB123            2.00            1/5/2012            2012-12345

3            SUB123            3.00            1/5/2012            2012-98765   

Je suis en train de GROUPE PAR SubjectCode mais j'aimerais qu'il affiche la plus récente DateApproved de sorte qu'il ressemble:

  id    |    SubjectCode    |    Grade    |    DateApproved    |    StudentId

2            SUB123            2.00            1/5/2012            2012-12345

3            SUB123            3.00            1/5/2012            2012-98765  

Je suis un peu perdu sur la façon de le faire?

EDIT:

Ok les gars, maintenant je suis sur mon PC, désolé pour le mal construites question.

Voici ce que je suis en train d'essayer de faire:

SELECT GD.GradebookDetailId, G.SubjectCode, G.Description, G.UnitsAcademic, G.UnitsNonAcademic, 
GD.Grade, GD.Remarks, G.FacultyName, STR_TO_DATE(G.DateApproved, '%m/%d/%Y %h:%i:%s') AS 'DateAproved'
FROM gradebookdetail GD INNER JOIN gradebook G ON GD.GradebookId=G.GradebookId 
WHERE G.DateApproved IS NOT NULL AND G.GradebookType='final' AND StudentIdNumber='2012-12345'

GROUP BY <?????>
ORDER BY G.SubjectCode ASC

En gros, je ne veux afficher le plus récente "DateApprove", d'un "SubjectCode", donc je ne les entrées multiples.

source d'informationauteur A.B. User