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_detailed->totalaction' /4)
查询中成为纯 sql no php,所以如果我有 100 个用户,它将计算出每个排名并更新另一个名为current_rank
的字段是否可以在一个查询中完成所有这些如果有人可以帮助我。
解决方案
您只需('$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());
推荐阅读
- java - Hazelcast Jet 是否允许从 rollingAggregate 查询累加器值?
- ios - 私人 Pod 安装
- sorting - Yii2无法在计算值中排序
- javascript - 匹配一个元素并包装匹配元素之前的其他内容
- react-native - 当应用程序在前台时,linking.addEventListener 不适用于 ios
- python - 在 django 和 pythonanywhere 中经常重复后台任务的最佳实践
- c# - 如何最好地将异步客户端/请求配置注入 NSwag 客户端代码
- react-native - 如何解决 react-native 中的问题“BatchedBridge”?
- python - ZIP 目录:shutil.rmtree()
- php - 如何在数组中为php中的递归公式添加空位置的值