我有一个查询,可以根据用户的行为确定其排名
$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_detailed->totalaction' /4)
在查询中成为纯sql而不是php
因此,如果我有100个用户,它将计算出每个排名,并更新另一个名为current_rank
的字段,如果有人可以帮助我,那么可以在一个查询中完成所有操作。
答案 0 :(得分:1)
您只需要用所需的值替换('$user_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());
答案 1 :(得分:0)
弄清楚该如何做,必须做两个查询,而不是像我想要的那样;)感谢您的帮助