我被问到如何从表中获取第N行。但是,即使在删除/插入行之后,附加要求仍然表示它应该保持返回相同的行。
我怀疑有办法做到这一点。
但是,如果您有任何想法,请告诉我。谢谢。
答案 0 :(得分:1)
没有表格的“第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(也可以在其他数据库中使用)。但这并不一定能保证特定的顺序。