当前位置: 代码迷 >> SQL >> sqlserver 分页话语
  详细解决方案

sqlserver 分页话语

热度:160   发布时间:2016-05-05 15:20:12.0
sqlserver 分页语句
mysql中数据库分页,用limt 觉得很不错,可是到sqlserver中,只有top,而top不能带2个参数(起始页),所以只能自己写个语句了:

写成通用的SQL:

String pageSize = 10;//每页显示数String onPage=1;//当前页数String sql = "SELECT TOP  " + pageSize +"  *  FROM    tablename   WHERE 主键 NOT IN(SELECT TOP "+(onPage-1)*pageSize +"主键 FROM   tablename  ORDER BY 主键)ORDER BY 主键"


这里的order by 条件也可以是别的字段。

当然,在应用这个SQL之前,我们还是要先获取总的数据条数从而换算出总页数!

备注:记住一点,where 和 order by 的条件 括号内和外的 一定要一致,否则将查询出错误数据!
  相关解决方案