DB
[DB][SQL] GROUP BY 절에 CASE문을 Alias로 사용할 수 없는 현상의 대안
오선지♬
2024. 7. 7. 13:07
728x90
반응형
Subquery를 사용한 대안 방법
또 다른 방법으로는 서브쿼리를 사용하는 것입니다. 서브쿼리를 사용하면 별칭을 활용할 수 있습니다.
SELECT age_group, COUNT(*) AS count
FROM (
SELECT
CASE
WHEN age < 20 THEN '10대'
WHEN age BETWEEN 20 AND 29 THEN '20대'
WHEN age BETWEEN 30 AND 39 THEN '30대'
ELSE '40대 이상'
END AS age_group
FROM customers
) AS subquery
GROUP BY age_group;
이 방법을 사용하면 CASE 문을 서브쿼리 내에서 한 번만 작성하고,
메인 쿼리의 GROUP BY 절에서 별칭 age_group을 사용할 수 있습니다.
이는 코드의 가독성을 높이고 유지보수를 용이하게 합니다.
728x90
반응형