SQL选择所有但是表中的最后一行?

use*_*263 3 sql

如何选择表格中的最后一行?

我知道我可以选择最后一个,SELECT item FROM table ORDER BY id DESC LIMIT 1但我想选择ALL而不是最后一个.

我怎样才能做到这一点?

选择一定数量并使用ASC将无效,因为我不知道有多少行.

我考虑过进行行计数并获取该数量并选择-1并使用ORDER BY id ASC但是有没有更简单的方法?

谢谢.

usr*_*usr 8

最简单的方法是丢弃应用程序中的行.您可以使用计算的限制在SQL中执行此操作.计算为(SELECT COUNT(*) FROM T) - 1.

要么:

SELECT *
FROM T
EXCEPT
SELECT TOP 1 *
FROM T
ORDER BY id ASC
Run Code Online (Sandbox Code Playgroud)

排除最后一行.


Joe*_*Joe 8

如果ID是唯一的,则可以按以下步骤进行操作:

SELECT ...
FROM MyTable
WHERE Id < (SELECT MAX(Id) FROM MyTable)
Run Code Online (Sandbox Code Playgroud)