SQL의 GROUP BY 및 집계 함수: 일반적인 함정
SQL의 GROUP BY
절은 데이터를 요약하는 데 강력하지만 특히 SELECT
문에 어떤 열이 나타날 수 있는지와 관련하여 혼동을 일으키는 경우가 많습니다.
집합되지 않은 열을 GROUP BY
절에 포함하지 않고 선택하려고 시도하는 실수가 자주 발생합니다. 예:
<code class="language-sql">SELECT * FROM order_details GROUP BY order_no;</code>
이 쿼리는 실패합니다. GROUP BY
을 사용할 때 집계 함수가 적용되지 않는 모든 열(예: SUM
, COUNT
, AVG
, MIN
, MAX
)은 반드시 GROUP BY
에 포함되어야 합니다. 목록.
이 문제를 수정하려면 GROUP BY
절에 집계되지 않은 모든 열을 포함하세요.
<code class="language-sql">SELECT order_no, order_price FROM order_details GROUP BY order_no, order_price;</code>
또는 집계 함수를 사용하여 각 그룹의 데이터를 요약합니다.
<code class="language-sql">SELECT order_no, SUM(order_price) AS total_price FROM order_details GROUP BY order_no;</code>
집계 함수는 그룹당 단일 값을 계산하므로 GROUP BY
절에 모든 열을 나열하지 않더라도 요약된 정보를 검색할 수 있습니다. 이는 오류를 방지하고 그룹화된 데이터에서 의미 있는 결과를 얻는 데 핵심입니다. 핵심 원칙은 SELECT
목록의 모든 열이 집계되거나 GROUP BY
절에 있어야 한다는 것입니다.
위 내용은 SQL에서 GROUP BY 및 집계 함수를 사용할 때 오류를 방지하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!