查询以插入行号以对结果进行分页
Query to insert row number to paginate results
我尝试执行一个从 table 获取所有数据的查询。我想使用分页,因为它们是结果中的一个结构。所以我尝试在查询中插入分页,例如
我试的是这个
Select ROW_NUMBER() OVER (ORDER BY reputation) as row, *
From users
Where reputation > 1000000 AND row >= ##StartRow:INT?1##
AND row <= ##EndRow:INT?50000##
ORDER BY row
我收到的错误是这样的:
Invalid column name 'row'. Invalid column name 'row'.
我能做什么?
将您的查询包装在 派生的 table 中(即子查询):
select * from
(
Select ROW_NUMBER() OVER (ORDER BY reputation) as row, *
From users
Where reputation > 1000000
) dt
where row >= ##StartRow:INT?1##
AND row <= ##EndRow:INT?50000##
ORDER BY row
请注意,根据 ANSI/ISO SQL 标准,row
是保留字,因此您可能需要将该列名称分隔为 "row"
。 (或将其更改为其他内容。)
我尝试执行一个从 table 获取所有数据的查询。我想使用分页,因为它们是结果中的一个结构。所以我尝试在查询中插入分页,例如
我试的是这个
Select ROW_NUMBER() OVER (ORDER BY reputation) as row, *
From users
Where reputation > 1000000 AND row >= ##StartRow:INT?1##
AND row <= ##EndRow:INT?50000##
ORDER BY row
我收到的错误是这样的:
Invalid column name 'row'. Invalid column name 'row'.
我能做什么?
将您的查询包装在 派生的 table 中(即子查询):
select * from
(
Select ROW_NUMBER() OVER (ORDER BY reputation) as row, *
From users
Where reputation > 1000000
) dt
where row >= ##StartRow:INT?1##
AND row <= ##EndRow:INT?50000##
ORDER BY row
请注意,根据 ANSI/ISO SQL 标准,row
是保留字,因此您可能需要将该列名称分隔为 "row"
。 (或将其更改为其他内容。)