Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.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 将mysql查询和优化问题整合到一个查询中_Php_Mysql - Fatal编程技术网

Php 将mysql查询和优化问题整合到一个查询中

Php 将mysql查询和优化问题整合到一个查询中,php,mysql,Php,Mysql,我有一个查询,可以根据用户的行为确定其排名 $db->row("SELECT COUNT(ID) as `user_rank` FROM userdetails WHERE (userdetails.totalaction /4) >= ('$user_detailed->totalaction' /4) AND active = 1 AND frozen = 0",array()); 上面将返回那里的排名,我想做一个查询,一次更新所有用户 基本上,我希望=(“$user\u

我有一个查询,可以根据用户的行为确定其排名

$db->row("SELECT COUNT(ID) as `user_rank` FROM userdetails WHERE (userdetails.totalaction /4) >= ('$user_detailed->totalaction' /4) AND active = 1 AND frozen = 0",array());
上面将返回那里的排名,我想做一个查询,一次更新所有用户

基本上,我希望
=(“$user\u detailed->totalaction”/4)
在查询中变成纯sql,而不是php
因此,如果我有100个用户,它将计算出其中的每一个等级,并更新另一个名为“当前等级”的字段。如果有人能帮助我,是否可以在一个查询中完成这一切。

您只需将
(“$user\u detailed->totalaction”/4)
替换为您想要测试的值。例如,如果希望其大于等于10,则应为:

$db->row("SELECT COUNT(ID) as `user_rank` FROM userdetails WHERE (userdetails.totalaction /4) >= 10 AND active = 1 AND frozen = 0",array());

要想知道怎么做,必须做两个查询,而不是我想要的一个;)谢谢你的帮助