即使没有
id
在表中,sqlite存储一个rowid(
from sqlite CREATE_TABLE doc
):
ROWIDs和整数主键
除了没有ROWID表之外,SQLite表中的所有行都有一个64位有符号整数键,唯一地标识其表中的行。这个整数通常称为“rowid”。可以使用一个与大小写无关的特殊名称“rowid”、“oid”或“id”访问rowid值
“代替列名。如果表包含名为“rowid”、“oid”或“id”的用户定义列
行ID
假设完全干净的数据如下所述:)那么:
select a.rowid,a.time,a.event,b.rowid,b.time,b.event,b.time - a.time as elapsed --,sum(b.time-a.time)
from t2 a, t2 b
where a.rowid % 2 = 1
and b.rowid = a.rowid + 1