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

5

我有一个MySQL表格,看起来像这样:

Name    | Pass |  Fail | Pass Percent | Fail Percent

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

我正在尝试获取百分比:

例如: 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个回答

9
这是完全可能的。 要填写第二张表:
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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接