집 >데이터 베이스 >MySQL 튜토리얼 >단일 SQL 문에서 데이터를 동시에 계산하고 그룹화하려면 어떻게 해야 합니까?
효율적인 데이터 집계를 위해 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)
보다 더 효율적입니다.
출력은 town
및 UserCount
라는 두 개의 열이 있는 테이블이 됩니다. 여기서 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!