SQL에서 PARTITION BY와 GROUP BY의 차이점 이해
분할 및 그룹화는 SQL의 데이터 집계 및 처리에 중요한 작업입니다. PARTITION BY와 GROUP BY는 모두 데이터 분할 및 집계를 포함하지만 기능과 응용 분야에서 상당한 차이가 있습니다.
PARTITION BY: 창 함수에 대한 파티셔닝
PARTITION BY는 정의된 파티션을 기반으로 계산을 수행하는 ROW_NUMBER()와 같은 창 함수와 함께 주로 사용됩니다. 파티션 키라고 하는 지정된 열을 기반으로 데이터를 개별 그룹으로 나눕니다. 각 파티션은 독립적으로 작동하므로 창 함수가 해당 파티션에 상대적인 값을 계산할 수 있습니다.
예를 들어 다음 쿼리는 PARTITION BY를 사용하여 각 고객 ID 내의 행에 일련 번호를 할당합니다.
SELECT ROW_NUMBER() OVER (PARTITION BY customerId ORDER BY orderId) AS OrderNumberForThisCustomer FROM Orders;
GROUP BY: 데이터를 그룹으로 집계
GROUP BY, 반면에 공통 값을 기반으로 여러 행의 데이터를 집계하도록 설계되었습니다. 그룹화 키라고 하는 지정된 열의 일치하는 값으로 행을 그룹화합니다. 그런 다음 COUNT(*) 또는 SUM()과 같은 집계 함수가 각 그룹에 적용됩니다.
다음 쿼리는 GROUP BY를 사용하여 각 고객의 총 주문 수를 계산합니다.
SELECT customerId, COUNT(*) AS orderCount FROM Orders GROUP BY customerId;
주요 차이점
PARTITION BY와 GROUP의 주요 차이점 BY는 다음과 같이 요약할 수 있습니다.
위 내용은 SQL의 PARTITION BY와 GROUP BY: 차이점은 무엇인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!