MySQL에서 효율적인 누계 계산
변수 할당을 사용하여 누적 합계를 계산하는 MySQL의 기존 접근 방식은 이제 더 이상 사용되지 않습니다. 이 문서에서는 더 이상 사용되지 않는 기능에 의존하지 않고 동일한 결과를 얻을 수 있는 현대적이고 효율적인 방법을 보여줍니다.
최적화된 단일 쿼리가 탁월한 솔루션을 제공합니다.
<code class="language-sql">SET @running_total := 0; SELECT DAYOFYEAR(`date`) AS day_of_year, COUNT(*) AS daily_count, (@running_total := @running_total + COUNT(*)) AS running_total FROM `orders` WHERE `hasPaid` > 0 GROUP BY day_of_year ORDER BY day_of_year;</code>
이 쿼리는 @running_total
변수를 0으로 초기화합니다. 핵심 기능은 (@running_total := @running_total COUNT(*))
표현식에 있습니다. 이는 @running_total
를 매일 COUNT(*)
으로 누적 업데이트하여 일일 개수(running_total
) 및 날짜(daily_count
)와 함께 누계(day_of_year
)를 생성합니다. 그 결과 간결하고 효과적인 누계 계산이 이루어지므로 더 이상 사용되지 않는 변수를 처리할 필요가 없습니다.
위 내용은 더 이상 사용되지 않는 변수를 사용하지 않고 MySQL에서 누계를 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!