まず、このクエリを並べ替えるためにあらゆるところを調査しましたが、ここで問題を解決した回答は見つかりません。0で除算するカウント
私はこのクエリを持っている:私はコピーを念頭に置い
SELECT
[Report Date],
COUNT(CASE WHEN [total_ahr_cap] = '0' OR [standing_load] = '0'THEN NULL ELSE 1 END) AS [Zero Values],
COUNT(CASE WHEN [total_ahr_cap]/[standing_load] > '12' THEN 1 ELSE NULL END) AS [Green Zone],
COUNT(CASE WHEN [total_ahr_cap]/[standing_load] < '12' AND [total_ahr_cap]/[standing_load] >= '10'
THEN 1 ELSE NULL END) AS [Yellow Zone],
COUNT(CASE WHEN [total_ahr_cap]/[standing_load] < '10' THEN 1 ELSE NULL END) AS [Red Zone],
COUNT(CASE WHEN [total_ahr_cap] IS NULL OR [standing_load] IS NULL THEN 1 END)AS [Null Values],
COUNT(CASE WHEN [total_ahr_cap]/[standing_load] > '0' THEN 1 ELSE NULL END) AS [Total]
FROM [dbo].[dc_chargers$]
WHERE [Report Date] = 'March 2016' AND sla_no NOT LIKE ('%South%')
GROUP BY [Report Date]
クマと年の数ヶ月のために結果を取得するには、このクエリを貼り付けます。私が期待している結果は、私の上司がこの情報を毎月必要とするが、[standing_load]の値が0になるたびに、どれくらいのフィールドが 'green'、 'yellow'、 'red' [total_ahr_cap]の値は0です - ゼロによる除算エラーが発生します。
NULL
の値に変更できないため、数値を0で割った数値を再計算する必要があります。ゼロを除算するとエラーが発生するたびにこの問題を回避するにはどうすればよいですか? 0インチの数字のうち、NULL
の値に変更する必要がありますが、それは不正確なデータを与えています。あなたが見ることができるように、それは0の値を持っている月のすべての他の月数えなく
Report Date Green Zone Yellow Zone Red Zone Null Values Total
2015-12-01 276 5 5 16 286
2016-01-01 365 5 5 24 375
2016-02-01 376 4 5 25 384
:
クエリがどのように見えるか、下記を参照してください。
お願いします!
必要に
sum
とヌルにカウント数を変更したい場合、私はわからないので、小さなアドバイス合計はカウントされません –@ ZahiroMorだから私は合計のためのカウントを変更するのですか? –
は基本的にはそうです。私の答えをチェックする - 私は数値の値から引用符を取り除き、[standing_load]を追加することなどのいくつかの点を変更しました。それを試してください:) –