有没有更好的方法来处理这个SQL
有时我的收入= 0在某些情况下,我需要将月收入除以特定月份的非零收入
SELECT "CLASS",
"SCHOOL",
"Year",
"MONTH",
Sum("JanIncome")/Sum(
CASE
WHEN "JanIncome">0 THEN 1
ELSE NULL
END) AS "JanAvg"
Sum("FebIncome")/Sum(
CASE
WHEN "FebIncome">0 THEN 1
ELSE NULL
END) AS "FebAvg"
FROM (
SELECT *
FROM school )
GROUP BY "CLASS",
"SCHOOL",
"Year",
"MONTH";
答案 0 :(得分:2)
如何清空0
并使用内置的AVG
:
SELECT "CLASS","SCHOOL","Year","MONTH",
AVG(NULLIF("JanIncome",0)) AS "JanAvg",
AVG(NULLIF("FebIncome",0)) as "FebAvg"
AVG
忽略空值。