5

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

Name    | Pass |  Fail | Pass Percent | Fail Percent

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

我正在尝试获取百分比:

比如:通过百分比=(通过/通过+失败)*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
4

1 回答 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
于 2013-05-13T19:09:15.357 回答