본문 바로가기
반응형

SQL2

[MySQL] WITH ROLLUP - 항목별 합계에 대한 전체 합계 구하기 WITH ROLLUP 그룹별로 합계를 한 번에 구할 때 사용한다. GROUP BY를 사용하면 GROUP BY 뒤에 나오는 컬럼별로 합계를 구해주는데, 항목별 합계에 전체 합계가 같이 나오게 하는 것이 WITH ROLLUP이다. 1) WITH ROLLUP 기본 예제 SELECT SUBSTRING(address, 1, 2) as region, gender, COUNT(*) FROM copang_main.member GROUP BY region, gender WITH ROLLUP ORDER BY region ASC, gender DESC; 2) HAVING 컬럼 IS NOT NULL SELECT SUBSTRING(address, 1, 2) as region, gender, COUNT(*) FROM copang.. 2020. 12. 21.
복잡한 쿼리를 작성해야 할 때, 어떻게 해야 할까? 정답은 없다. 오히려 정답이 있는 것이 이상하다. 조회 대상 테이블과 컬럼, 원하는 결과가 때에 따라 모두 다르기 때문이다. 하지만 마음을 가다듬고 차근차근 작성한다면 불가능한 일은 없다. 예로부터 전해오는 복잡한 문제를 풀 때 사용하는 방법이 있는데, 바로 “분할해서 정복하라(Divide & Conquer)” 이다. 복잡한 쿼리를 작성할 때에도 작은 단위로 분할한 뒤, 다시 합치면 의외로 간단히 해결할 수 있다. (1) 최종적으로 조회되는 결과 항목을 정의한다. (2) 필요한 테이블과 컬럼을 파악한다. (3) 작은 단위로 분할해서 쿼리를 작성한다. (4) 분할한 단위의 쿼리를 하나로 합쳐 최종 결과를 산출한다. (5) 결과를 검증한다. 참고서적:https://thebook.io/006696/ 2020. 7. 29.
반응형