选择范围内的数据库行
问题描述:
我想从表中选择A和B之间的行。该表至少有A行,但可能少于B行。 例如,如果A = 2,B = 5且表格有3行,则应返回第2行和第3行。选择范围内的数据库行
如何获取这样的范围内的行?
我使用Microsoft SQL Server 2008
答
您可以使用类似于在this SO问题所描述的东西。
I.E.
SELECT * FROM (
SELECT *, ROW_NUMBER() OVER (ORDER BY YOUR_ORDERED_FIELD) as row FROM YOUR_TABLE
) a WHERE row > 5 and row <= 10
其中A = 5和B = 10在你的例子。
答
SELECT *,ROW_NUMBER() OVER
(ORDER BY ordercol) AS 'rank'
FROM table
where rank between @a and @b