gpt4 book ai didi

php - 计算表中字符串值的百分比

转载 作者:行者123 更新时间:2023-11-29 04:25:39 25 4
gpt4 key购买 nike

我有一张表格,其中已回答通过或未通过的问题。

我只需要一个 SQL 查询来找出问题 1 在所问问题总数中的失败百分比。

我正在尝试这个,但是出现语法错误 -

$CA001 = "COUNT(CA001Result WHERE CA001Result = "Fail") / COUNT(CA001Result)) From Datable";

正如我所说,完全菜鸟,顺便说一句,它是 MYSQL。

我不需要分离产品的 % 结果,到目前为止我已经知道了,并且已经尝试过按产品分组,但是没有用,有什么想法吗?

$CA001 = "( SELECT ROUND(100 *  (SELECT count(CA001Result ) from Data_Table where (CA001Result='Fail' AND Product='$product' AND Area='$Area'))/count(CA001Result),2) from Data_Table) AS 'CA001 %'";

再次查看它,我需要在下面的位置插入一个 WHERE Product = 'Product',但是不太明白该放在哪里,因为下面的代码不起作用:

$CA001 = "( SELECT ROUND(100 * (SELECT count(CA001Result ) from Data_Table where (CA001Result='Fail' AND Product='$product' AND Area='$Area'))/count( CA001Result WHERE Product = '$product'),2) 来自 Data_Table) AS 'CA001 %'";

最佳答案

假设这是你的 table :

ID     Answer
-------------
1  ,  'pass'
2  ,  'pass'
3  ,  'fail'
4  ,  'fail'
5  ,  'fail'
6 ,   'fail'

所以你需要使用这样的子查询:

SELECT 100 * 
(SELECT COUNT(answer) FROM t WHERE answer='fail')/COUNT(answer)
AS Fail_percent FROM t;

或者您可以像这样将 COUNTCASE 一起使用:

SELECT 100 * 
COUNT(CASE WHEN answer = 'fail' THEN 1 ELSE NULL END)/COUNT(answer)
AS Fail_percent FROM t;

或者您可以像这样将 SUMCASE 一起使用:

SELECT 100 * 
SUM(CASE WHEN answer = 'fail' THEN 1 ELSE 0 END)/COUNT(answer)
AS Fail_percent FROM t;

或者你可以使用 SUM 而不使用 CASE(仅适用于 MySQL),如下所示:

SELECT 100 * 
SUM(answer = 'fail')/COUNT(answer)
AS Fail_percent FROM t;

See this SQLFiddle

关于php - 计算表中字符串值的百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12157530/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com