mysql的分页实现:
- String beginrow = String.valueOf((page.getCurrentPage() - 1) * page.getPageSize());
- pageSql.append(sql);
- pageSql.append(" limit " + beginrow + "," + page.getPageSize());
- return pageSql;
- }
String beginrow = String.valueOf((page.getCurrentPage() - 1) * page.getPageSize());
limit " + beginrow + "," + page.getPageSize()
oracle的分页实现:
- public StringBuilder buildPageSqlForOracle(String sql, PageParameter page) {
- StringBuilder pageSql = new StringBuilder(100);
- String beginrow = String.valueOf((page.getCurrentPage() - 1) * page.getPageSize());
- String endrow = String.valueOf(page.getCurrentPage() * page.getPageSize());
- pageSql.append("select * from ( select temp.*, rownum row_id from ( ");
- pageSql.append(sql);
- pageSql.append(" ) temp where rownum <= ").append(endrow);
- pageSql.append(") where row_id > ").append(beginrow);
- return pageSql;
- }
- String beginrow = String.valueOf((page.getCurrentPage() - 1) * page.getPageSize());
- String endrow = String.valueOf(page.getCurrentPage() * page.getPageSize());
- pageSql.append("select * from ( select temp.*, rownum row_id from ( ");
- pageSql.append(" ) temp where rownum <= ").append(endrow);
- pageSql.append(") where row_id > ").append(beginrow);
sqlserver 分页sql:
分页方案一:(利用Not In和SELECT TOP分页)
语句形式:
SELECT TOP 10 *
FROM TestTable
WHERE (ID NOT IN
(SELECT TOP 20 id
FROM TestTable
ORDER BY id))
ORDER BY ID
SELECT TOP 页大小 *
FROM TestTable
WHERE (ID NOT IN
(SELECT TOP 页大小*页数 id
FROM 表
ORDER BY id))
ORDER BY ID
-------------------------------------
分页方案二:(利用ID大于多少和SELECT TOP分页)
语句形式:
SELECT TOP 10 *
FROM TestTable
WHERE (ID >
(SELECT MAX(id)
FROM (SELECT TOP 20 id
FROM TestTable
ORDER BY id) AS T))
ORDER BY ID
SELECT TOP 页大小 *
FROM TestTable
WHERE (ID >
(SELECT MAX(id)
FROM (SELECT TOP 页大小*页数 id
FROM 表
ORDER BY id) AS T))
ORDER BY ID