zoukankan      html  css  js  c++  java
  • 数据库分页查询

    mysql分页查询: 

    是用limit函数

    取前5条数据:select * from table_name limit 0,5  //表示从下标为0位置,开始数5条数据。

    或者select * from table_name limit 5,默认从0开始计数

    查询第11到第15条数据

    select * from table_name limit 10,5

    limit关键字的用法:

    LIMIT [offset,] rows

    offset指定要返回的第一行的偏移量,rows第二个指定返回行的最大数目。初始行的偏移量是0(不是1)。

     

    例子:写一个分页查询的sql,要求实现:从start位置开始,数limit条数据。接下来我们只需计算出start、limit的坐标,然后拼接到sql语句中就可以了

    在java代码中对前台参数进行处理:

    stockParam.setPage(page);   //page:从第几页开始
    stockParam.setLimit(limit);     //limit:  每页显示多少条数据,相当于pageSize,count属性
    stockParam.setStart((page-1)*limit);   //start:计算出起始坐标位置,也就是说,从start位置,开始数limit条数据
    List<Stock> stockList = stockBusinessB.getStock(stockParam);
    Integer count = stockBusinessB.count(stockParam);
    

    limit:就是前台传递过来的参数,start=(page-1)*limit,此处不需要加1,因为初始行的坐标为0,接下来只需要将计算好的start、limit拼接到sql语句中即可。

    所以,最终在mapper.xml中的sql如下:

    select * from table
    where name="XX" and age>10
    ORDER BY create_timestamp  DESC
    LIMIT  #{start},  #{limit}  //从start位置开始,数limit条数据
    

      

    oracle分页查询:

     需求:从第page页开始,每页查询pageSize条数据

    //补充:首先需要在java代码中,计算出min、max,然后在拼接到sql语句中即可

      pageSize: 每页的条目数

      page:第几页

      min:(page-1)*pageSize + 1
      max: page * pageSize

      

    oracle中分页查询有伪列ROWNUM的概念,得分三步:先排序,再编号,最后取范围 

        SELECT * 
        FROM ( 
          SELECT ROWNUM rn, t.*
          FROM (
            SELECT ename, empno, salary, job  --此处的select决定所要查的数据,外面的select都是固定的。
            FROM emp
            ORDER BY salary DESC
          )t
        )
        WHERE rn BETWEEN min AND max
    

      

     

        

  • 相关阅读:
    sdk 和 Open API 有什么区别
    分布式锁介绍
    K8s 资源更新机制详解 (ResourceVersion 与 patch)
    Pod 一直处于pending状态但是kubectl describe和logs都没有输出信息的原因
    CAP 理论详解
    kubebuilder中的controller:latest是什么镜像
    Codeforces Round #441 (Div. 1, by Moscow Team Olympiad)
    Matrix Tree 定理及证明
    Codeforces Global Round 15 题解
    Harbour.Space Scholarship Contest 2021-2022 (Div. 1 + Div. 2) 题解
  • 原文地址:https://www.cnblogs.com/quan-coder/p/6308699.html
Copyright © 2011-2022 走看看