MySql教程

MySQL:用SQL分页查询之前,如何计算总页数(可以分几页)?

本文主要是介绍MySQL:用SQL分页查询之前,如何计算总页数(可以分几页)?,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
  • 预热知识 Warm-up Knowledge
    利用SQL中的SELECT语句查询时,如果结果集(查询结果)数据量很大,比如几万行数据,放在一个页面显示过于冗长,此时分页显示是个好的选择,比如每页显示10行数据(也叫10行记录)。
    要实现分页功能,本质就是从结果集中显示第1-10条记录作为第1页,第11-20条记录作为第2页,以此类推。
    因此,分页实际上就是从结果集中“截取”出第M~N条记录。这个查询可以通过LIMIT <N-M+1> OFFSET <M-1> 语句实现。

  • 分页公式 Pagination Formula
    假设pageSize(固定值)表示一页中显示的数据量(即一页显示多少行记录),currentRecord表示当前行码(即第几行记录),分页公式如下:

    SELECT * FROM <table name> LIMIT <pageSize> OFFSET <currentRecord - 1>

    显示该页数据的SQL代码如下:

    点击查看代码
    SELECT 
      * 
    FROM 
      <table name>
    LIMIT <pageSize> OFFSET <currentRecord - 1>; // 显示1页数据(即pageSize行记录)
    

    如前面预热知识所举例,pageSize=10,则;

    LIMIT 10 OFFSET 0; // 当前页码是1,显示第1页,即第1~10行记录
    LIMIT 10 OFFSET 10; // 当前页码是11,显示第2页,即第11~20行记录

  • 总页公式 Total-Pages Formula
    假设totalRecord表示总记录数(即总行数),currentPage表示当前页码(即第几页),totalPageNum表示所有记录按分页显示的总页数。
    显然,SELECT COUNT(*) FROME <table name>的值即为totalRecord,总页公式如下:

    此处有困意!!!

这篇关于MySQL:用SQL分页查询之前,如何计算总页数(可以分几页)?的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!