ROWNumber in Sqlite

ROWNumber in Sqlite

提问人:Swati 提问时间:6/12/2012 更新时间:12/1/2014 访问量:1416

问:

在 SQL Server2005 中,Row_number() 函数用于检索 结果集分区中行的序号,开始 在 1 表示每个分区中的第一行。这在以下情况下非常有用 通过表中的大量记录实现分页。有吗 SQLite中与此类似的任何可用函数。

SQLite(SQL 选择

评论


答:

0赞 Tom Kerr 6/23/2012 #1

不。通常,你会用自己的代码处理这些细节。

0赞 DarrenMB 12/1/2014 #2

您可以使用类似于以下格式的代码模拟在 ROW_NUMBER() 函数中完成的原始编号。

CREATE TABLE Temp.Output AS
SELECT *
FROM  (
    SELECT 10 AS ID,'Darren' AS Name
    UNION ALL
    SELECT 20,'Roger'
    UNION ALL
    SELECT 30,'Emil'
    UNION ALL
    SELECT 40,'Doug'
    UNION ALL
    SELECT 50,'Martin'
)
ORDER BY Name ASC
;
SELECT ROWID AS ROWNUMBER, ID, Name
FROM Temp.Output
;
DROP TABLE Temp.Output
;

它不支持“PARTITION BY”对结果进行分组(但使用一些额外的 SQL,您可以这样做)。