php - SQL 计算具有相同 sub_id 的两个值的百分比。

标签 php mysql sql dao

我正在做一个项目,我列出了 5 个问题,每个问题有 2 个解决方案。用户可以对每个问题的一个解决方案进行投票。现在我必须计算每个问题的最高值的百分比。

例如,在问题 1 中,我对解决方案 1 有 20 票,对解决方案 2 有 30 票,我想获得 60%。我知道我必须将每个问题的两个投票值一起计算除以 100,然后乘以最高值。

我如何在我的 dao 中执行此操作(使用 sql)?我是否必须在表“解决方案”中另列一栏?

table: solutions
+----------+------------+---------+
|    id    | id_problem |  vote   |
+----------+------------+---------+
|    1     |     1      |    25   |
|    2     |     1      |    10   |
|    3     |     2      |    18   |
|    4     |     2      |    2    |
|    5     |     3      |    6    |
|    6     |     3      |    7    |
|    7     |     4      |    11   |
|    8     |     4      |    4    |
|    9     |     5      |    5    |
|    10    |     5      |    2    |
+----------+------------+---------+

最佳答案

试试这个:

select 
    id_problem,
    CONCAT(ROUND(MAX(vote) / SUM(vote), 2) * 100, '%') as Percentage
from solutions
group by id_problem;

关于php - SQL 计算具有相同 sub_id 的两个值的百分比。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36213041/

相关文章:

php - laravel 登录 View 不执行任何操作

php - Uploadify JQuery & PHP/MySQL - 上传时更改文件名

java - Hibernate:保存多个关联问题

mysql - 根据日期从行中选择一项

php - 为什么 Doctrine 说找不到 PDO 驱动程序?

php - 在 PHP 和 MySQL 中一次从多个表单插入多个值

mysql - 无法从触发器内的 SELECT 查询获取值

javascript - 带有非动态输入字段的动态输入字段插入到两个 mysql 表中不起作用

php - Youtube Analytics API的速率限制?

与 GROUP BY 和 HAVING 相关的 MySQL 查询