SQL 배우기
[SQL] NULL 값이 있을 때 연산하기 (SIGN, COALESCE)
차근차근 디지털
2024. 1. 9. 22:37
년도별 평균 적금 판매 좌수를 구하고 싶습니다. 2023년도 4분기는 아직 결산이 안됐습니다. NULL값으로 발생하는 문제가 있습니다.
→ NULL 값을 함께 연산을 하면 NULL 값이 나옵니다. (COALESCE 처리)
→ NULL 값이 아닌 분기들의 평균을 구하고 싶습니다. (SIGN, COALESCE 처리)
year | Q1 | Q2 | Q3 | Q4 |
2021 | 1000 | 1200 | 1100 | 1300 |
2022 | 1300 | 1000 | 1200 | 1500 |
2023 | 1300 | 1200 | 1000 |
select year, (coalesce(q1,0)+coalesce(q2,0)+coalesce(q3,0)+coalesce(q4,0))/(sign(coalesce(q1,0))+sign(coalesce(q2,0))+sign(coalesce(q3,0))+sign(coalesce(q4,0))) as average
from sales
order by 1