選擇MySQL中的最后一行我怎樣才能SELECT在MySQL表格的最后一行?我是INSERT數(shù)據(jù),我需要從上一行檢索列值。auto_increment桌子上有一個。
4 回答

qq_花開花謝_0
TA貢獻1835條經(jīng)驗 獲得超7個贊
請記住,關系數(shù)據(jù)庫中的表只是行集。數(shù)學中的集合是無序集合。沒有第一行或最后一行; 沒有上一行或下一行。
您必須首先按某些字段對無序行進行排序,然后按照您定義的順序自由迭代結果集。
由于您有一個自動遞增字段,我假設您希望它是排序字段。在這種情況下,您可能希望執(zhí)行以下操作:
SELECT *
FROM your_table
ORDER BY your_auto_increment_field DESC
LIMIT 1;
看看我們是如何your_auto_increment_field按降序排序(或任何你調用的)無序行的排序。然后我們將結果集限制為第一行LIMIT 1。

慕俠2389804
TA貢獻1719條經(jīng)驗 獲得超6個贊
在有很多行的表上,兩個查詢可能更快......
SELECT @last_id := MAX(id) FROM table;SELECT * FROM table WHERE id = @last_id;

函數(shù)式編程
TA貢獻1807條經(jīng)驗 獲得超9個贊
您可以將@spacepille建議的兩個查詢組合成單個查詢,如下所示:
SELECT * FROM `table_name` WHERE id=(SELECT MAX(id) FROM `table_name`);
它應該快速工作,但在INNODB表上,它比ORDER + LIMIT慢幾分之一。
添加回答
舉報
0/150
提交
取消