>  기사  >  데이터 베이스  >  MySQL WHERE 절에서 비교를 위해 SUM() 함수를 어떻게 사용할 수 있습니까?

MySQL WHERE 절에서 비교를 위해 SUM() 함수를 어떻게 사용할 수 있습니까?

DDD
DDD원래의
2024-11-04 06:07:29636검색

How Can I Use the SUM() Function for Comparisons in a MySQL WHERE Clause?

WHERE 절에서 MySQL SUM() 함수 사용

MySQL에서는 WHERE 절에서 SUM() 함수를 직접 사용하는 것이 제한됩니다. . 대신 SUM() 함수와 함께 HAVING 절을 사용할 수 있습니다.

WHERE SUM(cash) > 500 문제:
WHERE SUM(현금) > 500은 SUM()과 같은 집계 함수를 WHERE 절에서 비교에 사용할 수 없기 때문에 작동하지 않습니다.

HAVING 절:
비교를 위해 집계 함수를 사용하려면 다음을 사용해야 합니다. HAVING 절. HAVING 절은 그룹화 결과를 제한하기 위해 GROUP BY 절과 함께 사용됩니다.

예시 쿼리:
현금 누계 합계가 500을 초과하는 첫 번째 행을 찾으려면:

<code class="sql">SELECT y.id, y.cash
FROM (SELECT t.id,
               t.cash,
               (SELECT SUM(x.cash)
                  FROM table x
                 WHERE x.id <= t.id) AS running_total
         FROM table t
     ORDER BY t.id) y
WHERE y.running_total > 500
ORDER BY y.id
LIMIT 1;</code>

설명:

  • 하위 쿼리는 각 행의 누계를 파생합니다.
  • 누계의 열 별칭을 참조할 수 있습니다. WHERE 절에 있습니다.
  • 쿼리는 ID별로 정렬되며 원하는 결과를 검색하기 위한 첫 번째 행으로 제한됩니다.

위 내용은 MySQL WHERE 절에서 비교를 위해 SUM() 함수를 어떻게 사용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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