Sqlite 中的 ROWNumber

Posted

技术标签:

【中文标题】Sqlite 中的 ROWNumber【英文标题】:ROWNumber in Sqlite 【发布时间】:2012-06-15 00:44:13 【问题描述】:

在 SQL Server2005 中,Row_number() 函数用于检索 结果集的分区内的行的序号,开始 每个分区中的第一行为 1。这在什么时候非常有用 对Table中的大量记录实现分页。有没有 SQLite 中的任何可用函数都与此类似。

【问题讨论】:

【参考方案1】:

没有。通常你会用你自己的代码来处理这些细节。

【讨论】:

【参考方案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)。

【讨论】:

以上是关于Sqlite 中的 ROWNumber的主要内容,如果未能解决你的问题,请参考以下文章

使用EPPlus在Excel中的列上使用文本/值着色整个行单元格

sql server 2008 用row_number() over()怎么分页?

oracle中的number类型对应mysql里面啥类型啊

如何在变量分组值上按分组显示 s-s-rS 中的行数?

oracle字段按rownumber 排序不准确怎么解决

mysql 怎么才能做到rownumber序号