본문 바로가기

SQL

[SQL] CASE WHEN으로 Pivot 하는 방법 Hive 뿐만 아니라, 다양한 SQL 언어에서 CASE WHEN을 활용하여 Pivot이 가능하다. 개인적으로 컬럼의 종류가 많으면 Python Pandas를 활용한 Pivot을 선호하며, 대용량 데이터이거나 또는 피벗 해야 하는 데이터 종류가 많지 않다면 SQL에서 처리하는 것을 더 선호한다. 따라서 본인은 상황에 따라 바꿔 가면서 데이터 Pivoting을 진행하는 편이다. 예시로 참고한 데이터는 Leetcode의 "reformat-department-table"이다. https://leetcode.com/problems/reformat-department-table/ Reformat Department Table - LeetCode Level up your coding skills and quickly.. 더보기
[MYSQL] LEFT JOIN과 COUNT시 NULL값 0으로 표시하는 방법 및 쿼리 Intro 데이터를 그래프를 표현할때나, 누군가에게 데이터를 보고할때 COUNT로 집계가 되는 데이터가 없지만 이를 ROW로 나타내고 “0”인 값으로 표현해야 하는 경우가 생긴다. NULL값이 표현되지 않는 쿼리문 SELECT B.id,B.title,COUNT(A.id) FROM sales A LEFT JOIN items B ON A.item_id = B.id GROUP BY A.item_id 상품명과 판매개수를 구하려는 쿼리를 실행하기 위해 간단한 LEFT JOIN으로 테이블을 JOIN하고 쿼리를 실행시킨다. 하지만 다음 쿼리 실행시 COUNT로 집계가 되지 않는 상품의 경우 NULL 값이 출력되지 않고, COUNT(A.id) = 1인 값부터 출력이 된다. 서브쿼리를 이용한 NULL값 표현 SELECT.. 더보기