집 >데이터 베이스 >MySQL 튜토리얼 >SQL UPDATE 문에서 집계 함수를 어떻게 사용할 수 있나요?
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!