Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP SQL如何在使用CASE和table连接时获得总行数_Php_Mysql_Search - Fatal编程技术网

PHP SQL如何在使用CASE和table连接时获得总行数

PHP SQL如何在使用CASE和table连接时获得总行数,php,mysql,search,Php,Mysql,Search,在谷歌搜索之后,我发现SQL\u CALC\u FOUND\u行可以在应用限制之前得到表中可用行的总数 但在数据库中搜索某些文本时,我使用php进行了非常复杂的sql查询,我还想知道数据库中总的可用结果 如何通过匹配以下结果获得可用行的总数 是否可以使用SQL\u CALC\u FOUND\u ROWS SQL函数。或者在PHP中可以使用其他方法。我将介绍以下内容。希望你能找到一些有用的东西。你的问题没有什么不同,只是更大。也许调查一下。或者像xDerived这样的派生表 还有,Percona文

在谷歌搜索之后,我发现SQL\u CALC\u FOUND\u行可以在应用限制之前得到表中可用行的总数

但在数据库中搜索某些文本时,我使用php进行了非常复杂的sql查询,我还想知道数据库中总的可用结果

如何通过匹配以下结果获得可用行的总数


是否可以使用SQL\u CALC\u FOUND\u ROWS SQL函数。或者在PHP中可以使用其他方法。

我将介绍以下内容。希望你能找到一些有用的东西。你的问题没有什么不同,只是更大。也许调查一下。或者像xDerived这样的派生表

还有,Percona文章的第二部分

create table n1
(   thing int not null
);
insert n1(thing) values 
(1),(3),(1),(1),(17),(1),(17),(11);
-- 8 rows inserted

select SQL_CALC_FOUND_ROWS thing from n1 where thing<12 order by thing limit 0,2;
select found_rows() as foundRows;
+-----------+
| foundRows |
+-----------+
|         6 |
+-----------+

select count(*) as theCount 
from 
(   select thing from n1 where thing<12 order by thing limit 0,2 
) xDerived; 
+----------+
| theCount |
+----------+
|        2 |
+----------+

您的意思是说,对于您的精确查询,上面的行数最多为25行吗?我想计算数据库中所有匹配的行数,但我限制25行以显示数据,还想向用户显示数据库中有多少结果可用,我正在使用分页您是否想要从上述查询返回的总行或您是否想要它而不考虑分页我想要在使用LIMIT之前从我的查询返回的总行我只想要使用上面显示的一个查询,不想要使用它两次。我想要我想要我想要。我不能给你更多。你的案例stmt是不相关的,查询也不复杂。问题在于,对于一个无法开箱即用的编程环境,我们需要的东西太多了。存储的进程需要使用OUT参数写入。然后,在一个小时或更长时间的调试后,在这个家伙不知道如何做的情况下,这可能对他有用。但我们在这里是自由的仆人。所以,好吧,我想你还是再打一两个电话吧。这个话题为那些与之斗争的人所熟知;我估计全世界大概有1000万人。那个么我应该再打一次电话到数据库进行统计吗?我也不会太多地停留在打一次电话上。因为对于大数据之类的数据,查询的性能将非常糟糕。人们使用全文搜索,寻求性能和索引的使用。
create table n1
(   thing int not null
);
insert n1(thing) values 
(1),(3),(1),(1),(17),(1),(17),(11);
-- 8 rows inserted

select SQL_CALC_FOUND_ROWS thing from n1 where thing<12 order by thing limit 0,2;
select found_rows() as foundRows;
+-----------+
| foundRows |
+-----------+
|         6 |
+-----------+

select count(*) as theCount 
from 
(   select thing from n1 where thing<12 order by thing limit 0,2 
) xDerived; 
+----------+
| theCount |
+----------+
|        2 |
+----------+