집 >데이터 베이스 >MySQL 튜토리얼 >SQL의 GROUP BY 절을 사용하여 데이터를 범위로 집계하려면 어떻게 해야 합니까?
데이터 범위 집계를 위한 SQL GROUP BY
다양한 범위에 걸쳐 데이터 분포를 분석하는 것은 데이터 분석의 중요한 측면입니다. SQL의 GROUP BY
절은 데이터를 사전 정의된 그룹으로 집계하는 강력한 메커니즘을 제공하여 간결한 요약 테이블 및 보고서 생성을 용이하게 합니다.
범위 기반 그룹 만들기
데이터를 특정 범위로 분류하기 위해 CASE WHEN
문을 활용하여 정의된 조건에 따라 새 열에 값을 할당합니다. 새로 생성된 이 열은 GROUP BY
절을 사용하여 데이터를 그룹화하는 기초로 사용됩니다.
예시: 점수 범위 그룹화
특정 간격(예: 0-9, 10-19, 20-29) 내에서 점수의 빈도를 결정해야 하는 시나리오를 생각해 보겠습니다. 다음 쿼리는 이러한 점수 범위를 나타내는 새 열을 구성합니다.
<code class="language-sql">SELECT CASE WHEN score BETWEEN 0 AND 9 THEN '0-9' WHEN score BETWEEN 10 AND 19 THEN '10-19' ELSE '20-99' END AS score_range FROM scores;</code>
이 쿼리는 각 점수를 해당 범위에 할당하는 score_range
열을 생성합니다.
GROUP BY를 사용한 집계
각 범위 내의 점수 수를 계산하기 위해 COUNT(*)
절과 함께 GROUP BY
집계 함수를 사용합니다. 아래 쿼리는 이를 달성합니다.
<code class="language-sql">SELECT score_range, COUNT(*) AS score_count FROM ( SELECT CASE WHEN score BETWEEN 0 AND 9 THEN '0-9' WHEN score BETWEEN 10 AND 19 THEN '10-19' ELSE '20-99' END AS score_range FROM scores ) AS ranged_scores GROUP BY score_range;</code>
출력
결과 테이블에는 정의된 범위 전체의 점수 분포에 대한 명확한 개요를 제공하는 score_range
및 score_count
라는 두 개의 열이 표시됩니다.
위 내용은 SQL의 GROUP BY 절을 사용하여 데이터를 범위로 집계하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!