>데이터 베이스 >MySQL 튜토리얼 >MySQL에서 누계를 어떻게 계산할 수 있나요?

MySQL에서 누계를 어떻게 계산할 수 있나요?

Susan Sarandon
Susan Sarandon원래의
2025-01-22 06:31:12615검색

How Can I Calculate Running Totals in MySQL?

MySQL 실행 합계 계산: 완벽한 솔루션

MySQL에서는 특정 데이터 세트의 누계를 간단한 방법으로 계산할 수 있습니다. 이를 수행하려면 다음 쿼리를 고려하십시오.

<code class="language-sql">SELECT DAYOFYEAR(`date`) AS d, COUNT(*)
FROM `orders`
WHERE `hasPaid` > 0
GROUP BY d
ORDER BY d</code>

이 쿼리는 해당 연도의 날짜에 대한 열 (d)와 해당 날짜에 해당하는 지불 주문 수가 포함된 테이블을 반환합니다. 누계 열을 추가하려면 @runtot 변수를 사용하고 다음과 같이 쿼리를 수정하면 됩니다.

<code class="language-sql">SET @runtot := 0;
SELECT q1.d, q1.c, (@runtot := @runtot + q1.c) AS rt
FROM (SELECT DAYOFYEAR(`date`) AS d, COUNT(*) AS c
    FROM `orders`
    WHERE `hasPaid` > 0
    GROUP BY d
    ORDER BY d) AS q1</code>

이 업데이트된 쿼리에서:

  • SET @runtot := 0; 누계 변수를 0으로 초기화합니다.
  • 하위 쿼리(q1)는 핵심 계산을 처리하여 날짜(d)와 지불된 주문 수(c)를 검색합니다.
  • (@runtot := @runtot q1.c) AS rt 이전 누계에 각 c 값을 더하여 누계를 계산하고 이를 'rt' 열에 할당합니다.

이 쿼리의 결과는 매일 지불된 주문의 누계를 나타내는 추가 'rt' 열이 있는 새 테이블이 됩니다.

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

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