>데이터 베이스 >SQL >SQL에서 Group By Clause에서 그룹 데이터를 그룹화하려면 어떻게합니까?

SQL에서 Group By Clause에서 그룹 데이터를 그룹화하려면 어떻게합니까?

Karen Carpenter
Karen Carpenter원래의
2025-03-13 13:51:31382검색

SQL에서 Group By Clause에서 그룹 데이터를 그룹화하려면 어떻게합니까?

SQL의 Clause GROUP BY "각 국가의 고객 수를 찾는 것"과 같이 지정된 열의 동일한 값을 요약 행으로 그룹화하는 데 사용됩니다. 각 데이터 그룹에 대한 계산을 수행하기 위해 집계 함수 (Count, Max, Min, Sum, Avg)와 함께 사용됩니다.

GROUP BY 사용하려면 일반적으로 SQL 쿼리를 다음과 같이 구성합니다.

 <code class="sql">SELECT column_name(s), aggregate_function(column_name) FROM table_name WHERE condition GROUP BY column_name(s) ORDER BY column_name(s);</code>

예를 들어, CustomerID , OrderDateOrderAmount Columns의 Orders 라는 테이블이 있고 고객 당 총 주문 금액을 찾으려면 다음을 사용합니다.

 <code class="sql">SELECT CustomerID, SUM(OrderAmount) AS TotalOrderAmount FROM Orders GROUP BY CustomerID;</code>

이 쿼리는 CustomerID 별로 Orders Table을 그룹화하고 각 고객에 대한 OrderAmount 의 합계를 계산합니다.

SQL에서 그룹과 함께 사용하는 일반적인 골재 기능은 무엇입니까?

SQL의 집계 함수는 일련의 값에 대한 계산을 수행하고 단일 값을 반환합니다. 이들은 각 그룹의 데이터를 요약하기 위해 GROUP BY 과 함께 사용됩니다. 몇 가지 일반적인 골재 기능은 다음과 같습니다.

  • count () : 그룹의 행 수를 계산합니다. 예를 들어, COUNT(CustomerID) 고객 수를 계산합니다.
  • sum () : 값 세트의 합계를 계산합니다. 예를 들어, SUM(OrderAmount) 총 주문 금액을 계산합니다.
  • avg () : 값 세트의 평균을 계산합니다. 예를 들어, AVG(OrderAmount) 평균 주문 금액을 계산합니다.
  • 최소 () : 값 세트에서 가장 작은 값을 반환합니다. 예를 들어, MIN(OrderAmount) 가장 작은 주문 금액을 찾습니다.
  • max () : 값 세트에서 가장 큰 값을 반환합니다. 예를 들어, MAX(OrderAmount) 가장 큰 주문 금액을 찾습니다.

이러한 기능은 통찰력있는 보고서와 요약을 생성하기 위해 GROUP BY 과 다양한 방식으로 결합 할 수 있습니다.

SQL의 여러 열과 함께 사용할 수 있습니다. 그렇다면 어떻게?

예, GROUP BY SQL의 여러 열에서 사용할 수 있습니다. 여러 열별로 그룹화하면 결과는 해당 열의 값의 조합으로 그룹화됩니다. 이를 통해보다 자세한 데이터 분석이 가능합니다.

여러 열별로 그룹화하기위한 구문은 단순히 쉼표로 분리 된 절을 통해 GROUP BY 의 열을 나열합니다.

 <code class="sql">SELECT column1, column2, aggregate_function(column3) FROM table_name GROUP BY column1, column2;</code>

예를 들어, 연간 고객 당 총 주문 금액을 찾으려면 다음을 사용할 수 있습니다.

 <code class="sql">SELECT CustomerID, YEAR(OrderDate) AS OrderYear, SUM(OrderAmount) AS TotalOrderAmount FROM Orders GROUP BY CustomerID, YEAR(OrderDate);</code>

이 쿼리는 Orders 테이블을 CustomerIDOrderDate 의 해에 그룹화하여 고객과 연도의 각 고유 한 조합에 대한 총 주문 금액을 계산합니다.

SQL에서 Group과 함께 사용하는 조항은 어떻게 작동합니까?

HAVING GROUP BY WHERE 절은 집계가 발생하기 전에 개별 행을 필터링하는 동안, HAVING 절은 집계가 발생한 후 그룹화 된 데이터를 필터링합니다.

GROUP BY 사용하여 쿼리의 일반적인 구조는 HAVING 과 같습니다.

 <code class="sql">SELECT column_name(s), aggregate_function(column_name) FROM table_name WHERE condition GROUP BY column_name(s) HAVING condition ORDER BY column_name(s);</code>

예를 들어, 고객 당 총 주문 금액을 찾으려면 총 주문액이 1000보다 큰 고객 만 포함하려면 다음을 사용할 것입니다.

 <code class="sql">SELECT CustomerID, SUM(OrderAmount) AS TotalOrderAmount FROM Orders GROUP BY CustomerID HAVING SUM(OrderAmount) > 1000;</code>

이 쿼리에서, GROUP BY 조항은 CustomerID 의 주문을 그룹화하고 각 고객의 총 주문 금액을 계산합니다. 그런 다음 HAVING clause는 총 주문 금액이 1000보다 큰 그룹 (고객) 만 포함하도록 결과를 필터링합니다.

위 내용은 SQL에서 Group By Clause에서 그룹 데이터를 그룹화하려면 어떻게합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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