2
我在找这取决于它们被定位在哪里得到的查询某些SQL的结果,例如,考虑下面的代码如何让某些SQL结果
SELECT * FROM Product ORDER BY id asc
可能返回至少100个左右的结果。
问题是,我怎样才能得到第一个1-10的结果,然后在另一个不同的,单独的查询,我怎么能得到11-20的结果甚至得到结果定位51 - 60的查询?
我在找这取决于它们被定位在哪里得到的查询某些SQL的结果,例如,考虑下面的代码如何让某些SQL结果
SELECT * FROM Product ORDER BY id asc
可能返回至少100个左右的结果。
问题是,我怎样才能得到第一个1-10的结果,然后在另一个不同的,单独的查询,我怎么能得到11-20的结果甚至得到结果定位51 - 60的查询?
有许多方法,下面是一个使用ROW_NUMBER一种方法:
使用CTE获得的行数,然后由排列查询
with your_query as(
SELECT ROW_NUMBER() OVER(ORDER BY ID ASC) AS Row, *
FROM Product
)
select * from your_query
where Row >=5 and Row<=10