我有一个包含100行的表,并且想要只选择它们的一部分(例如从第20行到第30行),就像“分页”SELECT一样。
这是在SQL Server 2008 R2中执行此操作的有效方法吗?
答案 0 :(得分:3)
你可以这样做(假设你的表被调用" tablename",你的主键是id,你想要行10到15)。
select * from
(select *,row_number() over (order by id) as r from tablename)
t where r >10 and r < 15;
它可能看起来效率低下但是(在某种程度上)它是如何在linq内部完成的。