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 的条件 括号内和外的 一定要一致,否则将查询出错误数据!

你可能感兴趣的:(分页,sqlserver)