首页 > 学院 > 开发设计 > 正文

不同数据库的分页实现

2019-11-08 21:00:56
字体:
来源:转载
供稿:网友
Oracle        1: 伪列 rownum        select * from       (SELECT t.*,rownum rn FROM t_user t where         rownum<page.getCurrentPage()*page.getPageSize ()       ) where rn>(page.getCurrentPage()-1)*page.getPageSize()     2: 物理列 rowId         select * FROM t_user t where rowId in(                  select rowId from                   (select t.*,rownum rn FROM t_user t)                    where rn<page.getCurrentPage()*page.getPageSize ()                    and rn>(page.getCurrentPage()-1)*page.getPageSize()                                )MySQLSELECT * FROM t_user t limit n,m;          n 代表的开始位置  记录的第一条是0开始          m 代表的返回的记录条数 jdbc分页:  SELECT * FROM t_user t limit               (page.getCurrentPage()-1)*page.getPageSize (),                    page.getPageSize ()Sql server        select top n from t_user ;      表示显示表中的前  n条记录             select top (page.getCurrentPage()-1)*page.getPageSize ()          from          ( select top page.getCurrentPage()*page.getPageSize ()          from t_user  order by id desc)DB2分页查询SELECT * FROM (Select 字段1,字段2,字段3,rownumber() over(ORDER BY 排序用的列名 ASC) AS rn from 表名) AS a1 WHERE a1.rn BETWEEN 10 AND 20以上表示提取第10到20的纪录select * from (select rownumber() over(order by id asc ) as rowid from table where rowid <=endIndex )   where rowid > startIndex
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表