FOUND_ROWS() rows

MySQL 4.1中新增了FOUND_ROWS()函数,关于这个函数的说明如下:

For a SELECT with a LIMIT clause, the number of rows that would bereturned were there no LIMIT clause

A SELECT statement may include a LIMIT clause to restrict thenumber of rows the server returns to the client. In some cases, itis desirable to know how many rows the statement would havereturned without the LIMIT, but without running the statementagain. To obtain this row count, include a SQL_CALC_FOUND_ROWSoption in the SELECT statement, and then invoke FOUND_ROWS()afterward:

例如需要取出一张表的前10行,同时又需要取出符合条件的总数。这在某些翻页操作中很常见

SELECT SQL_CALC_FOUND_ROWS * FROM your_table_name

WHERE id > 33 LIMIT 10;

在上一查询之后,你只需要用FOUND_ROWS()就能获得查询总数,这个数目是抛掉了LIMIT之后的结果数:

SELECT FOUND_ROWS();

其中第一个sql里面的SQL_CALC_FOUND_ROWS不可省略,它表示需要取得结果数,也是后面使用FOUND_ROWS()函数的铺垫。
FOUND_ROWS() rows

注意:FOUND_ROWS()返回的结果是临时的。如果程序往后会用到这个数字,必须提前它保存在一个变量中待用。

FOUND_ROWS()与count()的 区别:

1、当SQL限制条件太多时, count()的执行效率不是很高,最好使用FOUND_ROWS()
2、当SQL查询语句没有where等条件限制时,使用count()函数的执行效率较高。

  

爱华网本文地址 » http://www.413yy.cn/a/25101015/252399.html

更多阅读

C#DataGridView控件清空数据完美解决方法 datagridview清空列

C# DataGridView控件绑定数据后清空数据在清除DataGridview的数据时:1.DataSource为NULL(DataGridView.DataSource=null;)这样会将DataGridView的列也删掉。2.用DataGridview.Rows.Clear();提示“不能清除此列表”!!!!!以上都不是想要的结果

MySQL中分页实现 python实现mysql分页

我们来贴例子吧!mysql> select pname fromproduct;+--------+| pname |+--------+| 产品1 || 产品2 || 产品三 |+--------+3 rows in set (0.00 sec)这个地方是说,从product中选出所有的pname来,一共有三条记录。MySQL中的分页非常简单

mysql性能分析及explain用法 explain的用法

1 使用explain语句去查看分析结果,如 explain select * from test1 where id=1;会出现:id selecttypetable type possible_keys keykey_len ref rows extra各列其中,type=const表示通过索引一次就找到了,key=primary的话,表示使用了主键t

声明:《FOUND_ROWS() rows》为网友我歌月徘徊分享!如侵犯到您的合法权益请联系我们删除