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
, OrderDate
및 OrderAmount
Columns의 Orders
라는 테이블이 있고 고객 당 총 주문 금액을 찾으려면 다음을 사용합니다.
<code class="sql">SELECT CustomerID, SUM(OrderAmount) AS TotalOrderAmount FROM Orders GROUP BY CustomerID;</code>
이 쿼리는 CustomerID
별로 Orders
Table을 그룹화하고 각 고객에 대한 OrderAmount
의 합계를 계산합니다.
SQL의 집계 함수는 일련의 값에 대한 계산을 수행하고 단일 값을 반환합니다. 이들은 각 그룹의 데이터를 요약하기 위해 GROUP BY
과 함께 사용됩니다. 몇 가지 일반적인 골재 기능은 다음과 같습니다.
COUNT(CustomerID)
고객 수를 계산합니다.SUM(OrderAmount)
총 주문 금액을 계산합니다.AVG(OrderAmount)
평균 주문 금액을 계산합니다.MIN(OrderAmount)
가장 작은 주문 금액을 찾습니다.MAX(OrderAmount)
가장 큰 주문 금액을 찾습니다. 이러한 기능은 통찰력있는 보고서와 요약을 생성하기 위해 GROUP BY
과 다양한 방식으로 결합 할 수 있습니다.
예, 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
테이블을 CustomerID
와 OrderDate
의 해에 그룹화하여 고객과 연도의 각 고유 한 조합에 대한 총 주문 금액을 계산합니다.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!