在 SQL Server2005 中,Row_number() 函数用于检索结果集分区内行的序号,每个分区的第一行从 1 开始。这在通过 Table 中的大量记录实现分页时非常有用。SQLite 中是否有与此类似的功能。
问问题
1268 次
2 回答
0
不会。通常你会用自己的代码来处理这些细节。
于 2012-06-23T04:31:26.040 回答
0
您可以使用类似于以下格式的代码模拟在 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)。
于 2014-12-01T02:46:13.603 回答