请问这SQL语句怎么改成分页显示

来源:百度知道 编辑:UC知道 时间:2024/05/25 01:29:33
Select Top 1000 * From News Where Status=1 And CategoryID In(2868,2892,2896,2901,2905,2909,2918,2922,2926,2930,2935,2939,2913,2944,2949,2953,2960,2964,2968,2972,2977,2981,2985,2989,2993) Order By id Desc

请问这个语句怎么写成分页显示的

谢谢了

select top m * from 表名
where ID not in(select top n ID form 表名 order by ID) order by ID

m:每页显示多少条记录
n:m*第几页,筛选记录数,从该值往后继续查询
ID:列名

public DataSet GetList(int pagesize, int pagecount, string strWhere)
{
string str_sql = "select top " + pagesize + " * from T_Order where to_id not in ";
str_sql += "(select top " + (pagesize * (pagecount - 1)).ToString() + " to_id from T_Order order by to_id ) ";
if(strWhere!="")
str_sql += "and " + strWhere;
str_sql += " order by to_id desc ";
return DbHelperSQL.Query(str_sql);
}

SELECT * FROM (SELECT *, ROW_NUMBER() OVER (order by id) as RowNumber FROM [News] as Tbl2 WHERE Status=1 And CategoryID In(2868,2892,2896,2901,2905,2909,2918,2922,2926,2930,2935,2939,2913,2944,2949,2953,2960,2964,2968,2972,2977,2981,2985,2989