选择MySQL中的最后一行

选择MySQL中的最后一行

我怎样才能SELECT在MySQL表格的最后一行?

我是INSERT数据,我需要从上一行检索列值。

auto_increment桌子上有一个。


米琪卡哇伊
浏览 1080回答 4
4回答

qq_花开花谢_0

请记住,关系数据库中的表只是行集。数学中的集合是无序集合。没有第一行或最后一行; 没有上一行或下一行。您必须首先按某些字段对无序行进行排序,然后按照您定义的顺序自由迭代结果集。由于您有一个自动递增字段,我假设您希望它是排序字段。在这种情况下,您可能希望执行以下操作:SELECT    *FROM      your_tableORDER BY  your_auto_increment_field DESCLIMIT     1;看看我们是如何your_auto_increment_field按降序排序(或任何你调用的)无序行的排序。然后我们将结果集限制为第一行LIMIT 1。

慕侠2389804

在有很多行的表上,两个查询可能更快......SELECT @last_id := MAX(id) FROM table;SELECT * FROM table WHERE id = @last_id;

函数式编程

您可以将@spacepille建议的两个查询组合成单个查询,如下所示:SELECT * FROM `table_name` WHERE id=(SELECT MAX(id) FROM `table_name`);它应该快速工作,但在INNODB表上,它比ORDER + LIMIT慢几分之一。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

MySQL