欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

关于数据库Group By取最新一条数据

程序员文章站 2024-03-21 11:04:52
...

示例表

关于数据库Group By取最新一条数据

查询期望结果

根据字段super_find_id分组查询opt_time最新的一条数据,如以上示例表中期望查询结果为第2条。

  • 先分组
	SELECT
		b.super_find_id,
		MAX( b.opt_time ) AS opt_time
	FROM
		info_super_feedback b
	GROUP BY
		b.super_find_id 

查询结果:
关于数据库Group By取最新一条数据
根据super_find_id字段分组取opt_time字段最新数据已成功,下一步是要取对应的全部字段值。

  • 查询分组后最新那条数据对应的全部表字段值
SELECT
	f.id,
	f.feedback_content,
	f.super_find_id,
	f.opt_time 
FROM
	( SELECT b.super_find_id, MAX( b.opt_time ) AS opt_time FROM info_super_feedback b GROUP BY b.super_find_id ) b
	INNER JOIN info_super_feedback f ON f.super_find_id = b.super_find_id AND f.opt_time = b.opt_time

查询结果:
关于数据库Group By取最新一条数据
与未分组前的原始数据相比:
关于数据库Group By取最新一条数据

结果

分组取最新的那条数据,查询结果尚未发现有误地方。若有更好方法,踊跃留言吧~~~

相关标签: 数据库 mysql