php下巧用select语句实现mysql分页查询

利用select语句的一个特性就可以很方便地实现mysql查询结果的分页,下文对该方法的实现过程作了详细的介绍,希望对您能有所启迪。

mysql分页查询是我们经常见到的问题,那么应该如何实现呢?下面就教您一个实现mysql分页查询的好方法,供您参考学习。

mysql中利用select语句的一个特性就可以很方便地实现查询结果的分页,select语句实现mysql分页查询的语法:


代码如下:

SELECT [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [HIGH_PRIORITY]
[DISTINCT | DISTINCTROW | ALL]
select_expression,...
[INTO OUTFILE 'file_name' export_options]
[FROM table_references
[WHERE where_definition]
[GROUP BY col_name,...]
[HAVING where_definition]
[ORDER BY {unsigned_integer | col_name | formula} [ASC | DESC] ,...]
[LIMIT [offset,] rows]
[PROCEDURE procedure_name] ]

LIMIT子句可以用来限制由SELECT语句返回过来的数据数量,它有一个或两个参数,如果给出两个参数,第一个参数指定返回的第一行在所有数据中的位置,从0开始(注意不是1),第二个参数指定最多返回行数。例如:


代码如下:

select * from table LIMIT 5,10; #返回第6-15行数据
select * from table LIMIT 5; #返回前5行
select * from table LIMIT 0,5; #返回前5行

以上就是实现mysql分页查询的过程。

(0)

相关推荐

  • php分页查询的简单实现代码

    关于php,最近学了好多,老师跟我们说,现在学的都是php的核心部分,所以我比较注意了一下,也多练习了几遍,相对来说理解起来嗨算轻松,没有刚开始学习的时候那么困难了,总结起来就是感觉,心态最重要,一开始的时候就是心态的问题,考虑到方方面面的问题,静不下心,而且已经好多年没有坐下了踏实学习了,总感觉自己坐不住,经过一段时间的休整,包括过年在家的一段时间,再次回归后心态有了很大的变化,感觉学起来也没有那么枯燥了,反而会觉得就像好多年前,遇到数学难题就特别想要攻克一般. 牢骚发的有点多,哈哈.今天上午

  • PHP CodeIgniter分页实例及多条件查询解决方案(推荐)

    最近在用CI框架的时候,用了CI的分页类,以前是用前端整分页,这次干脆用用框架自带的,自己这个健忘的脑袋,还是记录一下吧. 因为页面中有条件筛选的表单,所以想要完成的效果就是,输入条件后,分页跳转之后能维持所输入的条件.想了一下,自己的思路如下代码吧. controller 代码 class Monitors extends CI_Controller { public function warning(){ $config= array(); $config['per_page'] = 15;

  • PHP查询分页的实现代码

    本文实例为大家分享了PHP查询分页的具体代码,后端基于thinkphp框架,供大家参考,具体内容如下 前端需要dataTables插件:传送门下载地址 HTML代码 第一步引入插件 <!-- DataTables CSS --> <link rel="stylesheet" type="text/css" href="http://cdn.datatables.net/1.10.15/css/jquery.dataTables.css&q

  • php分页查询mysql结果的base64处理方法示例

    本文实例讲述了php分页查询mysql结果的base64处理方法.分享给大家供大家参考,具体如下: public function public_about(){ $sql= "SELECTc.catid,c.catname,c.catdir,FROM_BASE64(p.content) FROM v9_page p JOINv9_category c ON c.catid=p.catid WHERE c.parentdir = 'jmwm/'"; if(isset($_REQUEST

  • thinkPHP使用post方式查询时分页失效的解决方法

    本文实例讲述了thinkPHP使用post方式查询时分页失效的解决方法.分享给大家供大家参考,具体如下: 昨天晚上一直没有解决的php项目中的bug,就在刚才终于搞定,在这里还需要感谢各位大神给的帮助! 具体问题描述 最近遇到一个非常棘手的问题,也是因为刚入手thinkphp.在做项目的过程中,因为需要非常多的查询条件,如果以get方式提交表单的话,会因为url长度限制而报错,所以必须使用post方式提交表单数据,但是在分页的过程中,遇到了问题,因为thinkphp自带的分页是以a标签的形式,进

  • cakephp2.X多表联合查询join及使用分页查询的方法

    本文实例讲述了cakephp2.X多表联合查询join及使用分页查询的方法.分享给大家供大家参考,具体如下: 格式化参数: public function getconditions($data){ $this->loadModel("Cm.LoginHistory"); $conditions = array(); foreach ($data as $key=>$val){ if($key=='start_date'){ $conditions['LoginHistor

  • php下巧用select语句实现mysql分页查询

    利用select语句的一个特性就可以很方便地实现mysql查询结果的分页,下文对该方法的实现过程作了详细的介绍,希望对您能有所启迪. mysql分页查询是我们经常见到的问题,那么应该如何实现呢?下面就教您一个实现mysql分页查询的好方法,供您参考学习. mysql中利用select语句的一个特性就可以很方便地实现查询结果的分页,select语句实现mysql分页查询的语法: 复制代码 代码如下: SELECT [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BI

  • 单个select语句实现MySQL查询统计次数

    单个select语句实现MySQL查询统计次数 单个select语句实现MySQL查询统计次数的方法用处在哪里呢?用处太多了,比如一个成绩单,你要查询及格得人数与不及格的人数,怎么一次查询出来?MySQL查询统计次数简单的语句肯定是这样了: 复制代码 代码如下: select a.name,count_neg,count_plus from    (select count(id) as count_plus,name from score2 where score >=60 group by

  • 论一条select语句在MySQL是怎样执行的

    目录 一.从宏观的角度分析MySQL 二.一条SQL执行要经过多少困难? 2-1 连接器 2-2 查询缓存 2-3 分析器 2-4 优化器 2-5 执行器 一.从宏观的角度分析MySQL 首先看一张经典图片(MySQL逻辑架构图) 上图的客户端可以直接理解为PHP.Java等.接下来,你会看到连接.线程处理.这一部分并不是MySQL所特有的,而且大多数客户端.服务器都具有类似的结构. 因此,一般而言,MySQL可以分为两层:Server层和存储引擎层. Server层主要包括连接层.查询缓存.分

  • MySQL 分页查询的优化技巧

    在有分页查询的应用中,包括 LIMIT 和 OFFSET 的查询十分常见,而且几乎每个都会有一个 ORDER BY 子句.如果使用索引排序的话将对性能优化十分有帮助,否则服务端需要做很多文件排序. 一个高频的问题是 offset 的值过大.如果查询类似 LIMIT 10000, 20,将会产生10020行,并将之前的10000行丢弃,这样的代价很高.假设所有的页使用相同的频次访问,这样的查询将平均扫描一半数据表.为了优化他们,你可以在分页视图中限制最多可访问的页数,或者让大便宜的查询更有效. 一

  • html中select语句读取mysql表中内容

    <?  $record=0;  $db=@mysql_pconnect('localhost','root');  @mysql_select_db('1234',$db);  $strsql="select * from 1234_data";  $result=@mysql_query($strsql);  $data=@mysql_fetch_array($result);  $record=@mysql_num_rows($result); echo "<

  • mysql分页原理和高效率的mysql分页查询语句

    以前我在mysql中分页都是用的 limit 100000,20这样的方式,我相信你也是吧,但是要提高效率,让分页的代码效率更高一些,更快一些,那我们又该怎么做呢? 第一部分:看一下分页的基本原理: 复制代码 代码如下: mysql explain SELECT * FROM message ORDER BY id DESC LIMIT 10000, 20***************** 1. row **************id: 1select_type: SIMPLEtable: m

  • MySQL百万级数据量分页查询方法及其优化建议

    数据库SQL优化是老生常谈的问题,在面对百万级数据量的分页查询,又有什么好的优化建议呢?下面将列举了一些常用的方法,供大家参考学习! 方法1: 直接使用数据库提供的SQL语句 语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N 适应场景: 适用于数据量较少的情况(元组百/千级) 原因/缺点: 全表扫描,速度会很慢 且 有的数据库结果集返回不稳定(如某次返回1,2,3,另外的一次返回2,1,3). Limit限制的是从结果集的M位置处取出N条输出,其余

  • 详解mysql 组合查询

    使用UNION 多数SQL查询都只包含一个或多个表中返回数据的单条SELECT语句.MySQL也允许执行多个查询(多条SELECT语句),并将结果作为单个查询结果集返回.这些组合查询通常称为并(union) 有两种情况需要使用组合查询: 在单个表查询中从不同的表返回类似结构的数据: 对单个表执行多个查询,按单个查询返回数据. 组合查询和多个WHERE条件:多数情况下,组合相同表的两个查询完成的工作与具有多个WHERE子句条件的单条查询完成的工作相同. 可用UNION操作符来组合数条SQL查询,所

  • MySQL聚合查询与联合查询操作实例

    目录 一.聚合查询 1.聚合函数(count,sum,avg...) 2.GROUPBY子句 3.HAVING 二.联合查询((重点)多表) 1.内连接 2.外连接 3.自连接 4.子查询 5.合并查询 总结 一. 聚合查询 1.聚合函数(count,sum,avg...) 常见的统计总数.计算平局值等操作,可以使用聚合函数来实现,常见的聚合函数有: 注意最后面都是可以加上where,order by这些语句的,这些聚合函数会根据这些语句的结果集来进行查询 后面最好不要加上limit,因为MyS

  • MySQL 统计查询实现代码

    统计数据行数 SELECT COUNT() FROM 语法用于从数据表中统计数据行数. 语法: SELECT COUNT(column) FROM tb_name 该 SQL 语法用于统计某一字段的数据行数,COUNT() 内不能是多个字段,但可以是 * 号. 例子: 复制代码 代码如下: <?php $conn = @mysql_connect("localhost","root","root123"); if (!$conn){ die

随机推荐