选择MySQL中的最后一行我怎样才能SELECT在MySQL表格的最后一行?我是INSERT数据,我需要从上一行检索列值。auto_increment桌子上有一个。
4 回答
qq_花开花谢_0
TA贡献1835条经验 获得超7个赞
请记住,关系数据库中的表只是行集。数学中的集合是无序集合。没有第一行或最后一行; 没有上一行或下一行。
您必须首先按某些字段对无序行进行排序,然后按照您定义的顺序自由迭代结果集。
由于您有一个自动递增字段,我假设您希望它是排序字段。在这种情况下,您可能希望执行以下操作:
SELECT *
FROM your_table
ORDER BY your_auto_increment_field DESC
LIMIT 1;
看看我们是如何your_auto_increment_field按降序排序(或任何你调用的)无序行的排序。然后我们将结果集限制为第一行LIMIT 1。
慕侠2389804
TA贡献1719条经验 获得超6个赞
在有很多行的表上,两个查询可能更快......
SELECT @last_id := MAX(id) FROM table;SELECT * FROM table WHERE id = @last_id;
函数式编程
TA贡献1807条经验 获得超9个赞
您可以将@spacepille建议的两个查询组合成单个查询,如下所示:
SELECT * FROM `table_name` WHERE id=(SELECT MAX(id) FROM `table_name`);
它应该快速工作,但在INNODB表上,它比ORDER + LIMIT慢几分之一。
添加回答
举报
0/150
提交
取消