有人问我如何从表中获取第 N 行。但是,即使在删除/插入行之后,附加要求也应该保持返回同一行。
我怀疑有办法做到这一点。
但是,如果您有任何想法,请告诉我。提前谢谢。
没有表格的“第n”行这样的东西。SQL 表表示无序集。它们没有特定的顺序,除非列指定了顺序。如果您有一个自动递增的列(也称为“序列”或“身份”)或具有默认创建日期的列,那么您可以使用它。如:
select t.*
from (select t.*, row_number() over (order by id) as seqnum
from table t
) t
where t = @NTH;
您将此标记为“rowid”,但没有数据库。您可以在 Oracle 和 SQLite(也可能在其他数据库中)中使用 rowid。然而,这并不一定保证特定的顺序。