MySQL 中的百分比 - 在同一个表中的两列之间

Posted

技术标签:

【中文标题】MySQL 中的百分比 - 在同一个表中的两列之间【英文标题】:Percentages in MySQL - Between two columns in the same table 【发布时间】:2013-05-07 21:45:03 【问题描述】:

我有一个如下所示的 mysql 表:

Name    | Pass |  Fail | Pass Percent | Fail Percent

Abdy    | 20   |  5    |              |
Bob     | 10   |  5    |              |
Cantona | 40   |  10   |              |
Dave    | 30   |  20   |              |

我正在尝试获取百分比:

like : passpercent = (pass/pass+fail)*100

我可以用一个 MySQL 代码为两列填充表格吗?

希望表格看起来像这样:

Name    | Pass |  Fail | Pass Percent | Fail Percent

Abdy    | 20   |  5    |   80         |  20
Bob     | 10   |  5    |   66         |  33
Cantona | 40   |  10   |   80         |  20
Dave    | 30   |  20   |   60         |  40

【问题讨论】:

【参考方案1】:

这绝对有可能。

填写第二张表:

UPDATE mytable SET pass_pct=(pass/pass+fail)*100,fail_pct=(fail/pass+fail)*100

当然,您也可以在选择第一个表时生成那些(如果您不想存储结果),例如:

SELECT name,pass,fail,(pass/pass+fail)*100 as pass_pct,(fail/pass+fail)*100 as fail_pct FROM mytable

【讨论】:

以上是关于MySQL 中的百分比 - 在同一个表中的两列之间的主要内容,如果未能解决你的问题,请参考以下文章

怎样一个表中的2个查询结果合并到一个表中的两列

如何通过比较两个表中的两列来更新表中的列

显示来自两个不同表的两列之间的差异(比较表)

如何比较mySql中的两列其中之一是Json

如何在 Visual Studio 2019 的 Datagrid 视图中连接 MySQL DataTable 中的两列?

当一个表中的两列指向另一个表中的主键时,避免循环引用