>데이터 베이스 >MySQL 튜토리얼 >단일 SQL 문에서 데이터를 동시에 계산하고 그룹화하려면 어떻게 해야 합니까?

단일 SQL 문에서 데이터를 동시에 계산하고 그룹화하려면 어떻게 해야 합니까?

Patricia Arquette
Patricia Arquette원래의
2025-01-19 00:07:08616검색

How Can I Count and Group Data Simultaneously in a Single SQL Statement?

효율적인 데이터 집계를 위해 COUNT와 GROUP BY 결합

SQL은 단일 문 내에서 계산 및 그룹화 작업을 모두 수행할 수 있는 강력한 메커니즘을 제공합니다. 이는 데이터 세트 내에서 다양한 값의 빈도를 결정해야 할 때 특히 유용합니다. 예를 들어, 다양한 마을에 거주하는 사용자 수를 계산합니다.

핵심은 COUNT 절과 함께 GROUP BY 집계 함수를 사용하는 것입니다. 이를 달성하는 방법은 다음과 같습니다.

<code class="language-sql">SELECT town, COUNT(*) AS UserCount
FROM user
GROUP BY town;</code>

이 쿼리는 각 고유 town 값의 발생 횟수를 계산합니다. GROUP BY 절을 사용하면 개수가 도시에 따라 그룹화되어 각 도시와 해당 사용자 수를 보여주는 요약이 생성됩니다. 이 시나리오에서는 COUNT(*)을 사용하는 것이 COUNT(town)보다 더 효율적입니다.

출력은 townUserCount라는 두 개의 열이 있는 테이블이 됩니다. 여기서 UserCount는 각 마을의 총 사용자 수를 나타냅니다. 예를 들어 세 개의 도시(코펜하겐, 뉴욕, 아테네)와 총 58명의 사용자가 있는 경우 결과는 다음과 같습니다.

Town UserCount
Copenhagen 20
New York 20
Athens 18

또는 변수를 사용하여 총 사용자 수를 저장하고 이를 결과 집합에 포함할 수도 있습니다.

<code class="language-sql">DECLARE @TotalUsers INT;
SELECT @TotalUsers = COUNT(*) FROM user;

SELECT DISTINCT town, @TotalUsers AS TotalUserCount
FROM user;</code>

이 접근 방식은 총 사용자 수를 계산한 다음 이 총계를 출력의 각 마을 옆에 표시합니다. 이 방법은 각 도시의 총 사용자 수를 반복합니다. 그룹화된 개수가 필요할 때 일반적으로 명확성과 효율성을 위해 첫 번째 방법이 선호됩니다.

위 내용은 단일 SQL 문에서 데이터를 동시에 계산하고 그룹화하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.