php - 如何计算列中的“优于 X% 的用户”?
问题描述
我有一张像这样的桌子:
| id | totalScore |
--------------------------
| 1 | -3 |
| 2 | 6 |
| 3 | 10 |
| 4 | 7 |
| 5 | -4 |
| 6 | 4 |
| 7 | -3 |
...
所以对于给定的数字(示例 5),我想找到* 你比 10% 的用户好!* , 或 20%, 或 30% 等。
我怎样才能做到这一点?也许使用average
列totalScore
和group by
10、20、30 值?是否可以?
我正在使用 Laravel 5.6。
解决方案
- 获取用户的分数(在您的情况下为 5)
- 统计所有分数低于 5 的用户
- 将该数量除以用户总数,然后乘以 100 作为百分比
例如,您将有一个得分为 5 的用户。您总共有 7 个用户,其中 4 个的得分低于 5,导致
4/7*100 = 57%
推荐阅读
- c++ - 如何让 clangd 完成器与 Unrealengine-4 一起工作
- c++ - 在 wxEntry(argc, argv) 之前来自 wxWIdgets (3.1.4) 的 wxMessageBox() 类;警告使用缺少的 CPU 指令集
- c++ - 使用 const 实现 unordered_map 迭代器的问题
- python - 在 python3 中使用 re.sub() 从字符串中删除除给定字母后面的数字之外的所有数字
- javascript - css 文件更改时的平滑过渡
- amazon-web-services - 是否可以在没有 VPC 连接的情况下将 AWS Lambda 函数连接到 AWS EFS?
- react-native - 如何在本机反应中转到另一个页面?
- c++ - 我收到 Cmake 编译器错误“-lc++ 和 -lSystem”
- vb.net - 当 NewLine 是分隔符时可以使用 String.Split() 吗?
- java - Kotlin 进程等待所有线程完成?