-1

我必须编写一个查询并优化它的性能,但不确定如何正确编写它。这是表结构。

"Subject Id"
"Class"
"Student"
"Marks"
"Date"

日期是添加学生记录的时间。该表是非规范化的。所以我想知道如何从这个表中获取给定主题 ID 的学生列表、他们的班级和他们的最新分数(即最后添加的分数),这样行就不会重复。谁能建议这个查询?

4

1 回答 1

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

答案从这里采纳。

于 2013-10-10T03:15:47.513 回答