그럼 쿼리를 다시 작성해 봅시다.
코드 12-27
SELECT CASE WHEN age BETWEEN 0 AND 9 THEN '1.10대이하'
WHEN age BETWEEN 10 AND 19 THEN '2.10대'
WHEN age BETWEEN 20 AND 29 THEN '3.20대'
WHEN age BETWEEN 30 AND 39 THEN '4.30대'
WHEN age BETWEEN 40 AND 49 THEN '5.40대'
WHEN age BETWEEN 50 AND 59 THEN '6.50대'
WHEN age BETWEEN 60 AND 69 THEN '7.60대'
WHEN age IS NULL THEN '9.알수없음'
ELSE '8.70대 이상'
END ages, survived, COUNT(*) cnt
FROM titanic
GROUP BY 1, 2
ORDER BY 1, 2;
실행결과
10대 이하 구간의 시작 나이를 1에서 0으로 변경합니다. NULL인 건을 처리하기 위해 age 칼럼 값이 NULL인 경우는 ‘알수없음’으로, 나머지는 70대 이상으로 처리하고요.
결과를 보니 10대 이하 생존자 수와 사망자 수가 변했고, 70대 이상 인원이 많았는데, 대부분이 알수없음 구간으로 빠졌습니다. 결국 70대 이상 사망자 수와 생존자 수는 각각 6명과 2명뿐이군요. 이 수치는 이해 가능한 범위 안에 있다고 볼 수 있습니다.