开发中经常会遇到,分组查询最新数据的问题,下面的解决方案可以进行处理解决。
场景:
有一个考试提交记录表,需要获取相同学员提交的最新考试提交数据进行展示。
如图所示,学员“虞姬”有三条提交记录,其中提交时间为“2024-03-12 13:09:35”的数据为最新的一条。所以我们需要只获取这条最新的提交数据。

方法一:子查询与MAX()函数
SELECT * FROM exam_submit t1
WHERE t1.id = (
SELECT MAX(id)
FROM exam_submit t2
WHERE t1.user_id = t2.user_id
)

方法二:子查询与limit结合