집 >데이터 베이스 >MySQL 튜토리얼 >GROUP BY와 PARTITION BY: 집계 쿼리의 주요 차이점은 무엇입니까?
PARTITION BY와 GROUP BY 구별
집계 쿼리 작업 시 GROUP BY는 오랫동안 데이터 조합에 익숙한 옵션이었습니다. 그러나 PARTITION BY의 등장으로 GROUP BY와의 관계에 대한 의문이 제기되는 유사한 개념이 도입되었습니다.
GROUP BY의 역할 이해
GROUP BY는 다음에서 운영됩니다. 쿼리 수준으로 전체 쿼리 결과를 변환합니다. 특정 열을 기준으로 행을 그룹화하여 데이터를 압축하고 각 그룹의 집계 값(예: 개수, 평균, 합계)을 계산합니다. 예를 들면 다음과 같습니다.
select customerId, count(*) as orderCount from Orders group by customerId
PARTITION BY: A Different Perspective
GROUP BY와 달리 PARTITION BY는 ROW_NUMBER()와 같은 창 함수와 연결됩니다. 이는 창 계산 범위 내에서 작동하여 이러한 함수가 결과를 계산하는 방법을 수정합니다. 다음 예를 고려하십시오.
select row_number() over (partition by customerId order by orderId) as OrderNumberForThisCustomer from Orders
참고해야 할 주요 차이점
위 내용은 GROUP BY와 PARTITION BY: 집계 쿼리의 주요 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!