相关疑难解决方法(0)

在MySQL查询中使用SELECT和LIMIT时如何计算所有行?

我有一个像这样的mysql查询:

SELECT A.ID, A.NAME, B.ID, B.NAME
FROM table1 A
JOIN table2 B ON ( A.ID = B.TABLE1_ID )
WHERE
    cond1, cond2, ..., condN
LIMIT 10
Run Code Online (Sandbox Code Playgroud)

我在查询中有很多where子句.如何改进此查询以获得完整的行数?我不想在没有LIMIT的情况下再使用一个请求.

mysql

20
推荐指数
3
解决办法
3万
查看次数

SQL_CALC_FOUND_ROWS/FOUND_ROWS()在PHP中不起作用

SQL_CALC_FOUND_ROWS在Mysql SELECT语句中使用,获取SELECT返回的行数而不使用LIMIT子句.

$sql = new mysqli('localhost', 'root', '');
$sql->select_db('mysql');
$s1 = $sql->query('select SQL_CALC_FOUND_ROWS * from db limit 0, 3');
$s2 = $sql->query('select FOUND_ROWS()');
if($row = $s2->fetch_row()) printf('%d/%d', $s1->num_rows, $row[0]);
Run Code Online (Sandbox Code Playgroud)

在我的WinXP开发站上,它每次都会返回3/0,持续数周.当我从我的工作站使用另一台MySQL服务器时,它也返回3/0.在其他PC上,相同的代码运行正常,并返回正确的数字(例如,如果我在mysql.db表中有17条记录,则为3/17).每台XP PC都有相同的PHP/Mysql版本,过去在我的电脑上运行正常使用Mysql查询浏览器和相同的SQL查询我得到了正确的数字.

任何人都可以给我一个解决方案的想法,而无需重新安装所有?

对不起,我以前的要求非常不清楚.

php mysql

18
推荐指数
2
解决办法
4万
查看次数

标签 统计

mysql ×2

php ×1