首页 > 解决方案 > 使用最新的记分卡列出学生的所有详细信息

问题描述

我有一个表格,其中输入了单元测试结果以及学生详细信息。我想要每个学生的所有详细信息,但在单元测试列中包含最新条目。

例如,如果我尝试搜索 sem4 数据,我在其中输入了 3 次学生记录,因为他进行了 3 次重新测试。我想要每个学生的详细信息以及他的最新测试结果。

SELECT * FROM table where sem= 4 GROUP BY student_name ORDER BY last-date DESC;

这样,我的数据按学生姓名排序,而不是按测试结果的最新条目排序。这是过滤的因素之一。

有人可以为我提供这种情况的 SQL 查询吗?

标签: mysqlsql

解决方案


您必须使用group by student_id with having clause每个学生 ID 的最新记录,例如

 select student_id, name, sem,last_date 
  as 
 last_updated from 
  table  group by student_id, name,sem having last_date=max(last_date)

推荐阅读