あなたが助けてくれることを願っています、これは私を壁に押し上げています
質問が失敗した回数の割合を計算する必要がありますが、これは地理的領域によって絞り込む必要があり、これらの質問が尋ねられている製品です。
私は持っています :
$CA002 = "( SELECT ROUND(100 * (SELECT count(CA002Result) from Data_Table where (CA002Result='Fail'))/count(CA002Result),2) from Data_Table) AS 'CA002 %'";
これは「機能する」が、レコードのセット全体に対して「全体」として計算するだけです。
私はしようとしています :
$CA001 = "( SELECT ROUND(100 * (SELECT count(CA001Result) from Data_Table where (CA001Result='Fail' AND Area ='$Area'))/count(CA001Result) from Data_Table WHERE (Area='$Area'),2) AS 'CA001 %'";
そしてまた:
$CA001 = "( SELECT ROUND(100 * (SELECT count(CA001Result ) from Data_Table where (CA001Result='Fail' AND Product='$product' AND Area='$Area'))
/ count(CA001Result WHERE Product = '$product' AND Area='$Area'),2) from Data_Table) AS 'CA001 %'";
これも試してみますが、MYSQL構文エラーが発生します。
$CA001 = "( SELECT ROUND(100 * (SELECT count(CA001Result) from Data_Table where (CA001Result='Fail'))/ (SELECT (count(CA001Result) from Data_Table WHERE (Area='$Area')),2) AS 'CA001 %')";
何をしようとしてもエラーが発生しているだけで、何をどこに置く必要があるのかわからないようです。
以下の答えを試してみました:
$CA001 = "(SELECT 100 * SUM(IF(CA001Result='Fail', 1, 0)) / COUNT(CA001Result) as 'CA001 %' WHERE Area='$Area')";
$CA002 = "( SELECT ROUND(100 * (SELECT count(CA002Result) from Data_Table where (CA002Result='Fail'))/count(CA002Result),2) from Data_Table) AS 'CA002 %'";
しかし、エラーとして以下を取得しています:
MySQLエラー:SQL構文にエラーがあります。MySQLサーバーのバージョンに対応するマニュアルで、使用する正しい構文を確認してください。'(SELECT ROUND(100 *(SELECT count(CA002Result)from Data_Table where(CA002Re' at line 1
どんな助けでも大いに感謝します、ありがとう。
編集-を使用してそれをクラックしました:
$CA001 ="ROUND ((SELECT 100 * SUM(IF(CA001Result='Fail', 1, 0)) / COUNT(CA001Result)
FROM Data_Table
WHERE Area='$Area'),2) as 'CA001 %'";
助けてくれてありがとう!