는,이계산 비율
내가 질문에 실패 된 시간의 비율을 계산해야 벽을 날 운전하는 데 도움 수 있기를 바랍니다, 그러나 이것은으로 좁혀해야 지리적 영역 및 제품에 대한 질문이 제기되고 있습니다.
는 내가 가진 :
는$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 %'";
도움을 너무 많이
감사
당신은 당신의 테이블 구조를 포함해야한다. 또한 단어를 쉽게 읽을 수 있도록 검색어로 묶습니다. – Ariel
테이블 구조는 각 레코드에 Pass 또는 Fail이 기록 된 Questions (CA001Result for Example)입니다. 여기에는 제품 열과 영역 열이 직원 열 이름과 함께 다른 열에 있습니다. 기본적으로 질문의 총 %를 (POST 값에서 선택한) 해당 제품에 대해 응답 한 해당 지역 (POST 값에서 선택한 사람)이 응답 한 수에 대해 실패했습니다. –
왜()의 검색어를 배치하고 있습니까? - 저에게 그것이 예외의 원인이되는 것으로 보입니다. –