如何获得SQLite3数据库中特定行的偏移量?我不是在谈论ROWID,这不是线性的,我谈论的是表中第一个ROWID的特定ROWID的偏移量/位置。
这类似于SELECT COUNT(rowid) FROM table WHERE rowid < row
,它返回用row
标识的行之前的行数。我觉得这是太慢了,所以我希望有另一种方式,比这更快,这将给我的偏移量/位置在一个表
select top 1
rowid
from
table
where
rowid < row
order by
rowid desc
应该会给你行之前最大的行。你也可以尝试…
select
max(rowid)
from
table
where
rowid < row
…但根据我的经验,第一个选项效果更好。
如果您只想要目标行前面的行数。使用…
SELECT COUNT(1) FROM table WHERE rowid < row
基本上是你之前的,但是不要指定一个列,否则在计数时它将不得不检查该列是否为空
不幸的是,你不能访问"ROW_NUMBER()"函数,就像在MS SQL。
(关于sql和编号的类似问题)
row_number()/(partition by…?