특정 필드에 대해 null 값을 갖는 레코드의 백분율을 찾으려고합니다. 이 경우에는 2 개의 테이블이 있습니다. 'Requirements'와 'Deliverables'두 테이블 모두 'Completion_Date'열이 있습니다. 'Completion_Date'에 대한 Null 값과 'Completion_Date'에 대한 Null 값을 가진 산출물의 수를 계산하고 싶습니다. 내부 조인 및 왼쪽 조인을 수행하여 요구 사항 및 산출물의 총계를 얻었지만 정확한 개수의 null 필드가 표시되지 않습니다.MySQL은 내부 조인을 사용하여 null을 계산합니다.
내 현재 조회 :
SELECT count(*) as countAll, count(del.Completion_Date) as countNotNull , count(*) - count(del.Completion_Date) as countNull,
100.0 * count(del.Completion_Date)/count(*) as PercentNotNull, 100.0 * (count(*) - count(del.Completion_Date))/count(*) as PercentNull
FROM requirements req
INNER JOIN projects pro
ON req.Project_ID = pro.Project_ID
INNER JOIN assigned_users u
ON u.Project_ID=pro.Project_ID
LEFT JOIN deliverables del
ON del.Project_ID=u.Project_ID
WHERE u.User_ID=4
은 현재 총 (수정), 6하지 널 (null) (8이어야한다) 및 4 널 (2이어야 함)으로 10을 반환합니다.
어떤 도움을 주시면 감사하겠습니다 감사합니다
'del.Completion_Date FROM 요구 사항 req inner join ...'을 수행하여 계산할 행/값을 확인하십시오. – Solarflare