>데이터 베이스 >MySQL 튜토리얼 >SQL UPDATE 문에서 집계 함수를 어떻게 사용할 수 있나요?

SQL UPDATE 문에서 집계 함수를 어떻게 사용할 수 있나요?

Linda Hamilton
Linda Hamilton원래의
2024-12-25 00:17:08852검색

How Can I Use Aggregate Functions in SQL UPDATE Statements?

SQL 업데이트 쿼리에서 집계 함수를 사용하는 방법

SQL에서는 다른 테이블의 집계된 데이터를 기반으로 테이블의 값을 업데이트해야 하는 경우가 많습니다. 테이블. 그러나 표준 UPDATE 쿼리는 SUM 또는 GROUP BY와 같은 집계 함수를 지원하지 않습니다.

이 문제를 해결하려면 다음 단계를 따르세요.

예:

다음 시나리오를 고려하십시오. table1 테이블의 field1 열을 table2의 각 field3에 대한 field2 값의 합계로 업데이트하려고 합니다. table.

잘못된 구현:

UPDATE table1
SET field1 = SUM(table2.field2)
FROM table1
INNER JOIN table2 ON table1.field3 = table2.field3
GROUP BY table1.field3

SET 절이 집계 함수를 사용할 수 없고 GROUP BY 절이 이 컨텍스트에서 지원되지 않기 때문에 이 쿼리는 올바르지 않습니다. .

맞습니다 구현:

이를 올바르게 달성하려면 하위 쿼리를 사용하여 집계를 계산하고 이를 업데이트 대상 테이블과 조인합니다.

UPDATE t1
SET t1.field1 = t2.field2Sum
FROM table1 t1
INNER JOIN (select field3, sum(field2) as field2Sum
   from table2
  group by field3) as t2
on t2.field3 = t1.field3 

이 쿼리는 먼저 다음과 같은 하위 쿼리를 생성합니다. table2의 각 field3에 대한 field2의 합계를 계산하여 데이터를 효과적으로 집계합니다. 결과는 임시 테이블에 저장된 후 field3 열을 조인 조건으로 사용하여 table1과 조인됩니다. 그러면 table1의 field1 열이 해당 field2Sum 값으로 업데이트됩니다.

위 내용은 SQL UPDATE 문에서 집계 함수를 어떻게 사용할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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