mysql - 如何获取mysql中“标记”列的百分比
问题描述
这是我的桌子:
我试试这段代码:
SELECT student_name, (marks)*100/(SELECT SUM(marks) as 'totalmarks')
from tbl_marks
GROUP BY student_name
我得到了这个结果:
解决方案
我认为你想要:
select m.student_name, m.marks * 100 / t.marks as percent_overall
from (select student_name, sum(marks) marks from tbl_marks group by student_name) m
cross join (select sum(marks) marks from tbl_marks) t
这也可以用窗口函数来表达,例如:
select
student_name,
sum(marks) * 100 / (sum(sum(marks)) over()) percent_overall
from tbl_marks
group by student_name
推荐阅读
- javascript - mongoDB collection.findOne() 返回未定义
- ruby-on-rails - 如何在模块中调用特定于类的方法
- android - Android 上的 WiFi 扫描
- python - Python:简单循环中的多处理
- c++ - 如何旋转 pcl::CropBox wrt 它自己的特定轴而不是全局轴?或者如何将仿射变换应用于 pcl::CropBox?
- amazon-web-services - 胶水作业模式推理问题
- laravel - Laravel 查询生成器 - 日期查询不起作用
- python - 具有 2 个域的 Django 2.2
- amazon-web-services - 如何解决 AWS Elastic Beanstalk 中的“容器命令构建失败”一般错误?
- python - 或工具 Constraint_SetCoefficient 返回 NULL 而不设置错误