[sql] GROUP BY 절을 활용하여 데이터의 개수 세기
GROUP BY 절을 활용하여 특정 열의 값에 따라 데이터를 그룹화하고, 각 그룹 내의 데이터 개수를 세는 과정을 나타낼 수 있습니다.
아래는 “products” 테이블을 예시로 들어 설명합니다.
- 데이터 그룹화
SELECT category, COUNT(*) AS product_count FROM products GROUP BY category;
위 쿼리는 “products” 테이블을 “category” 열을 기준으로 그룹화하고, 각 그룹 내의 데이터 개수를 계산합니다. 결과는 “category”와 그에 해당하는 “product_count” 열로 표시됩니다.
- category: 데이터를 그룹화할 기준이 되는 열
- COUNT(*) AS product_count: 각 그룹 내의 데이터 개수를 세는 함수
- 정렬
SELECT category, COUNT(*) AS product_count FROM products GROUP BY category ORDER BY product_count DESC;
위 쿼리는 “product_count”를 기준으로 내림차순으로 결과를 정렬합니다.
- 조건을 추가하여 특정 범위 내의 데이터 개수 세기
SELECT category, COUNT(*) AS product_count FROM products WHERE price > 100 GROUP BY category;
위 쿼리는 “price”가 100보다 큰 상품들을 “category”를 기준으로 그룹화한 후, 각 그룹 내의 데이터 개수를 계산합니다.
주의 사항
데이터를 그룹화한 뒤 개수를 세는 GROUP BY 절을 사용할 때는 유의해야 합니다. GROUP BY에 기술된 열 외의 열을 SELECT 절에 포함하려면 해당 열에 대한 집계 함수를 사용해야 합니다.