我必须编写一个查询并优化它的性能,但不确定如何正确编写它。这是表结构。
"Subject Id"
"Class"
"Student"
"Marks"
"Date"
日期是添加学生记录的日期。该表是非规范化的。因此,我想知道如何从该表中获取给定主题Id的学生,他们的类和最新标记(即最后添加的标记)的列表,以便不重复这些行。任何人都可以建议这个查询吗?
答案 0 :(得分:1)
至少应部分实现这一点:
SELECT t.Student, t.Class, t.Marks
FROM tableName t
INNER JOIN (
SELECT Student, max(Date) as MaxDate
FROM tableName)
tm ON t.Student=tm.Student AND t.Date=tm.MaDate)
WHERE "Subject ID"=givenSubjectID
从here采纳的答案。