MYSQL的FOUND_ROWS()函数(获得上个结果的数量)
2015-12-25 11:29
495 查看
mysql 的FOUND_ROWS()
例如需要取出一张表的前10行,同时又需要取出符合条件的总数。这在某些翻页操作中很常见
SELECT SQL_CALC_FOUND_ROWS * FROM tbl_name
WHERE id > 100 LIMIT 10;
在上一查询之后,你只需要用FOUND_ROWS()就能获得查询总数,这个数目是抛掉了LIMIT之后的结果数:
SELECT FOUND_ROWS();
其中第一个sql里面的SQL_CALC_FOUND_ROWS不可省略,它表示需要取得结果数,也是后面使用FOUND_ROWS()函数的铺垫。
参考:
http://www.ooso.net/archives/342
SELECT语句中经常可能用LIMIT限制返回行数。有时候可能想要知道如果没有LIMIT会返回多少行,但又不想再执行一次相同语句。那么,在SELECT查询中包含SQL_CALC_FOUND_ROWS选项,然后执行FOUND_ROWS()就可以了:
mysql> SELECT SQL_CALC_FOUND_ROWS * FROM tbl_name
-> WHERE id > 100 LIMIT 10;
mysql> SELECT FOUND_ROWS()
第二个SELECT将返回第一条SELECT如果没有LIMIT时返回的行数,
如果在前一条语句中没有使用SQL_CALC_FOUND_ROWS选项,FOUND_ROWS()将返回前一条语句实际返回的行数。
FOUND_ROWS()得到的数字是临时的,执行下一条语句就会失效。如果想要这个数字,就要将它保存下来:
例如需要取出一张表的前10行,同时又需要取出符合条件的总数。这在某些翻页操作中很常见
SELECT SQL_CALC_FOUND_ROWS * FROM tbl_name
WHERE id > 100 LIMIT 10;
在上一查询之后,你只需要用FOUND_ROWS()就能获得查询总数,这个数目是抛掉了LIMIT之后的结果数:
SELECT FOUND_ROWS();
其中第一个sql里面的SQL_CALC_FOUND_ROWS不可省略,它表示需要取得结果数,也是后面使用FOUND_ROWS()函数的铺垫。
参考:
http://www.ooso.net/archives/342
SELECT语句中经常可能用LIMIT限制返回行数。有时候可能想要知道如果没有LIMIT会返回多少行,但又不想再执行一次相同语句。那么,在SELECT查询中包含SQL_CALC_FOUND_ROWS选项,然后执行FOUND_ROWS()就可以了:
mysql> SELECT SQL_CALC_FOUND_ROWS * FROM tbl_name
-> WHERE id > 100 LIMIT 10;
mysql> SELECT FOUND_ROWS()
第二个SELECT将返回第一条SELECT如果没有LIMIT时返回的行数,
如果在前一条语句中没有使用SQL_CALC_FOUND_ROWS选项,FOUND_ROWS()将返回前一条语句实际返回的行数。
FOUND_ROWS()得到的数字是临时的,执行下一条语句就会失效。如果想要这个数字,就要将它保存下来:
相关文章推荐
- Windows下使用mysqldump命令导入/导出.sql文件
- 记录-mysql的sql执行效率方法
- mysql主从复制报错 :Incorrect usage of DB GRANT and GLOBAL PRIVILEGES
- mysql 5.7压缩包安装笔记
- MySQL数据库的概念
- mysql 字段添加、删除、修改
- mysql分区表设计(二)
- MySQL中用户授权以及删除授权的方法
- [转]windows mysql 自动备份的几种方法
- mysql主从同步slave报错,slave sql线程中断
- mysql分页原理和高效率的mysql分页查询语句
- mysql 获得当前月1号的日期 和 0点日期方法
- mysql分区表设计(一)
- mysql 免安装版密码操作
- MySQL5.7 的 错误堆栈缓冲
- mysql 数据库保存不了表情的问题
- mysql数据库测试库下载
- MYSQL 免安装版修改root密码
- mysql进阶(十九)SQL语句如何精准查找某一时间段的数据
- mysql进阶(十九)SQL语句如何精准查找某一时间段的数据