• 欢迎光临~

分页SQL

开发技术 开发技术 2022-06-09 次浏览

分页SQL

从数据库表中的第M条数据开始取N条记录

五个变量

1.数据总数
    查数据select count(*)

2.页面大小(每页显示的数据条数) 30
    用户自定页

3.总页数
    程序自动计算
    总页数=(数据条数%页面大小 == 0) ? (数据条数/页面大小):(数据条数/页面大小+1)

4.当前页(页码)
    用户自定页

5.当前页的对象集合(实体类集合):每页所显示的所有数据(10个人的信息)
    查数据库,分页sql
    List<Student>

查询总数

DBUtil、DAO

分页SQL

将sql查询结果取出来分装到一个对象中

SQL Server
从数据库表中的第M条记录开始取N条记录,利用Top关键字(如果Select语句中既有top,又有orderby,则是从排序好的结果集中选择):
SELECT *
FROM ( SELECT Top N *
    FROM (SELECT Top (M + N - 1) * FROM  表名称  Order by 主键 desc) t1 ) t2
Order by 主键 asc;

例如从表Sys_option(主键为sys_id)中从10条记录还是检索20条记录,语句如下:
SELECT *
FROM (SELECT TOP 20 *
FROM (SELECT TOP 29 * FROM Sys_option order by sys_id desc) t1) t2
Order by sys_id asc;

Oracle

从数据库表中第M条记录开始检索N条记录
select * form
(select ROWNUM rownum_,t1.* form 
(select * form table order by table.id desc ) row_ where rownum <= ?)
where rownum_ > ?;

例如从表employees(主键为employee_id)中从11条记录开始检索20条记录:
select * form
(select rownum r_,row_.* form 
(select * form employees order by employees_id desc ) row_ where rownum <= 20)
where rownum_ > 11;

MySQL

Mysql数据库最简单,是利用mySQL的LIMIT函数,LIMIT[offset,] rows从数据库表中M条记录开始检索N条记录的语句为:
SELECT [列名列表] FROM 表名称 LIMIT M,N
例如从表Sys_option(主键为sys_id)中从10条记录开始检索20条记录,语句如下:
select * from sys_option limit 10,20

实现sevice层servlet层

参数由显示层传进来

程序员灯塔
转载请注明原文链接:分页SQL
喜欢 (0)