如何用MySQL查询带版本控制CMS中特定page_id的最新行?
解决方案:获取指定page_id最新更新的页面数据
这里提供两种实用的MySQL查询方案,根据你的具体需求选择:
方案1:简洁高效,取单条最新记录
如果只需要返回任意一条last_update值最大的记录(即使存在多条时间戳相同的最新记录),可以用排序加限制的方式:
SELECT * FROM pages WHERE page_id = 'your_target_page_id' -- 替换为你要查询的page_id值 ORDER BY last_update DESC LIMIT 1;
优势:
- 写法简洁直观
- 借助
page_id的索引,WHERE条件能快速过滤出目标数据,排序和取数的开销极低
方案2:返回所有同时间戳的最新记录
如果需要返回所有last_update等于最大值的记录(比如存在多个行同时更新到最新时间),可以用子查询匹配最大时间戳:
SELECT p.* FROM pages p WHERE p.page_id = 'your_target_page_id' -- 替换为你要查询的page_id值 AND p.last_update = ( SELECT MAX(last_update) FROM pages WHERE page_id = 'your_target_page_id' );
优势:
- 能完整返回所有符合"最新更新"条件的行
- 子查询同样利用
page_id索引,性能表现优异
内容的提问来源于stack exchange,提问作者Adrien Hingert
相关产品推荐
相关产品推荐

