选择sql中的中间行
我的SQLServer数据库中有一个表,其中包含近100K条记录,还有一个web应用程序,我想在其中显示这些行的分页gridView表示。显然,由于Ajax在web上的性能,我应该过滤这些行,并将其中的一小部分返回给ClientServer 这是我的主要问题。选择中间行的最佳方法是什么?例如,如何选择50000到50010之间的行?是否有一种类似“选择前10行”或“选择下10行”的方法可以从表行的中间选择行 我在.NETMVCWeb应用程序中使用linq2sql,还可以编写SQLStoredProcess 如有任何建议,将不胜感激 查看此链接,可以使用rownumber根据排序顺序获取所需的行。只需添加一个where子句,其中rownumber位于分页限制之间选择sql中的中间行,sql,linq-to-sql,datagrid,Sql,Linq To Sql,Datagrid,我的SQLServer数据库中有一个表,其中包含近100K条记录,还有一个web应用程序,我想在其中显示这些行的分页gridView表示。显然,由于Ajax在web上的性能,我应该过滤这些行,并将其中的一小部分返回给ClientServer 这是我的主要问题。选择中间行的最佳方法是什么?例如,如何选择50000到50010之间的行?是否有一种类似“选择前10行”或“选择下10行”的方法可以从表行的中间选择行 我在.NETMVCWeb应用程序中使用linq2sql,还可以编写SQLStoredPr
查看此链接,可以使用rownumber根据排序顺序获取所需的行。只需添加一个where子句,其中行数在您的分页限制之间。不确定这一点,但无论如何
SELECT *
FROM (SELECT ROW_NUMBER() OVER(ORDER BY colm) RowNumr, colm FROM table) t
WHERE RowNumr BETWEEN 50000 AND 50010
不确定,但无论如何
SELECT *
FROM (SELECT ROW_NUMBER() OVER(ORDER BY colm) RowNumr, colm FROM table) t
WHERE RowNumr BETWEEN 50000 AND 50010
在Linq2Sql中,这并不难。您可以使用:
dataContext.GetTable()
.Skip(50000)
.Take(10)
.ToList();
在这个问题上,有更多的解释。Linq2Sql将实际使用行号生成sql
一些小提示,表达的顺序很重要:
哪里
选择
.OrderBy
跳过
拿
在Linq2Sql中,这并不难。您可以使用:
dataContext.GetTable()
.Skip(50000)
.Take(10)
.ToList();
在这个问题上,有更多的解释。Linq2Sql将实际使用行号生成sql
一些小提示,表达的顺序很重要:
哪里
选择
.OrderBy
跳过
拿
试试这个:
select *
from(select table_name.*,rownum as rn from table_name order by column desc) table_name
where rn between 5000 and 5010;
试试这个:
select *
from(select table_name.*,rownum as rn from table_name order by column desc) table_name
where rn between 5000 and 5010;
谢谢。使用linq做这件事太好了。非常感谢。使用linq很好。谢谢我的朋友。我试过你的代码,很完美。但我更喜欢linq方法。干杯谢谢我的朋友。我试过你的代码,很完美。但我更喜欢linq方法。干杯