-
SQL GROUP BY: 데이터 집계의 핵심 키워드🐬 MySQL/MySQL 키워드 2024. 11. 28. 17:50728x90
SQL GROUP BY: 데이터 집계의 핵심 키워드
안녕하세요, SQL 학습자 여러분!
오늘은 데이터 분석에서 매우 중요한 역할을 하는 GROUP BY 키워드에 대해 자세히 알아보겠습니다.
GROUP BY는 데이터를 그룹화하고 요약하는 데 사용되는 강력한 도구입니다.
이를 통해 복잡한 데이터셋에서 의미 있는 인사이트를 도출할 수 있습니다.
GROUP BY의 기본 개념
GROUP BY는 지정된 열의 고유한 값을 기준으로 행을 그룹화 (집계방식) 합니다.
주로 집계 함수(SUM, COUNT, AVG 등)와 함께 사용되어 각 그룹에 대한 요약 정보를 제공합니다.
GROUP BY의 기본 구문은 다음과 같습니다.
SELECT column1, column2, aggregate_function(column3) FROM table_name GROUP BY column1, column2;
GROUP BY 활용 예시
1. author_lname 별로 몇권의 책을 썻는지 , 작가의 author_lname과 책의 갯수를 보여주세요
SELECT author_lname,COUNT(*) as book_count FROM books b group by author_lname;
2. 년도 별로 각각 몇권의 책이 출간 되었는지, 년도별로 출간된 책의 갯수를 최근연도 기준으로 보여주세요SELECT released_year,COUNT(*) as book_cut FROM books b group by released_year order by released_year desc;
3. 월별 평균 주문량 분석
SELECT MONTH(order_date) as month, AVG(order_amount) as avg_order FROM orders GROUP BY MONTH(order_date);
GROUP BY와 HAVING 절
HAVING 절은 GROUP BY와 함께 사용되어 그룹화된 결과에 조건을 적용합니다.WHERE 절이 개별 행에 조건을 적용하는 반면, HAVING은 그룹화된 결과에 조건을 적용합니다.
25명 이상의 근무하고 있는 국가를 보여줘
SELECT age, country, CONCAT(count(*),'명')as cnt FROM users group by country HAVING cnt >=25;
GROUP BY의 고급 기능
1. 여러 열로 그룹화
SELECT department, job_title, COUNT(*) as employee_count FROM employees GROUP BY department, job_title;
2. ROLLUP을 사용한 소계 생성 (일부 데이터베이스 지원)
SELECT department, job_title, SUM(salary) FROM employees GROUP BY ROLLUP(department, job_title);
3. CUBE를 이용한 다차원 분석 (일부 데이터베이스 지원)SELECT region, product, SUM(sales) FROM sales GROUP BY CUBE(region, product);
GROUP BY 사용 시 주의사항SELECT 문에 나열된 모든 비집계 열은 GROUP BY 절에 포함되어야 합니다.
NULL 값은 하나의 그룹으로 처리됩니다.
대용량 데이터에서는 성능에 영향을 줄 수 있으므로 적절한 인덱싱이 중요합니다.GROUP BY는 데이터 분석가와 개발자에게 필수적인 SQL 기능입니다.
이를 통해 복잡한 데이터셋을 의미 있는 정보로 변환할 수 있습니다.
728x90'🐬 MySQL > MySQL 키워드' 카테고리의 다른 글
SQL ORDER BY: 데이터 정렬의 마법사 (1) 2024.11.29 SQL 키워드 마스터하기: 데이터베이스 쿼리의 핵심 요소 (0) 2024.11.29 SQL SELECT: 데이터베이스의 마법 지팡이 (2) 2024.11.27 SQL DELETE: 데이터 삭제의 정석 (1) 2024.11.27 SQL UPDATE: 데이터베이스 수정의 핵심 키워드 (0) 2024.11.27