У меня есть таблица, которая выглядит так:
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
Я пытаюсь GROUP BY SubjectCode, но мне бы хотелось, чтобы он отображал самую последнюю DateApproved, чтобы она выглядела так:
id | SubjectCode | Grade | DateApproved | StudentId
2 SUB123 2.00 1/5/2012 2012-12345
3 SUB123 3.00 1/5/2012 2012-98765
Я немного потерял, как это сделать?
EDIT:
Хорошо, ребята, теперь я на моем реальном ПК, извините за плохо сконструированный вопрос.
Вот что я на самом деле пытаюсь сделать:
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
В принципе, я хочу показать только последнее "DateApprove" "SubjectCode", поэтому я не получаю несколько записей.