特定のフィールドに対して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ないヌル(8べきである)及び4つのヌル(2なければならない)として10を返しています。
任意の助けいただければ幸いおかげ
「SELECT del.Completion_Date FROM requirements req inner join ...」を実行して、カウントされる行/値を確認してください。 – Solarflare