ホームページ > データベース > mysql チュートリアル > MySQL で 1 つのクエリで累計を計算するにはどうすればよいですか?

MySQL で 1 つのクエリで累計を計算するにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-22 06:46:10
オリジナル
565 人が閲覧しました

How to Calculate Running Totals in MySQL with a Single Query?

単一クエリを使用して MySQL で累計を効率的に計算する

このガイドでは、データに

列と、支払いが成功したことを示す date フラグが含まれていることを前提として、毎日の注文数の累計を計算する単一の MySQL クエリを示します。hasPaid

最適化されたクエリは次のとおりです:

<code class="language-sql">SET @runtot:=0;
SELECT
   DATE(`date`) AS d,
   COUNT(*) AS c,
   (@runtot := @runtot + COUNT(*)) AS rt
FROM  `orders`
WHERE  `hasPaid` > 0
GROUP  BY d
ORDER  BY d;</code>
ログイン後にコピー
このクエリは変数

をゼロに初期化します。 次に、コア ロジックは 1 日の注文数 (@runtot) を計算し、同時に単一の COUNT(*) AS c ステートメント内で累計 (@runtot := @runtot COUNT(*) AS rt) を更新します。これにより、サブクエリや複数のパスが不要になり、効率が向上します。 SELECT 句は結果を日ごとにグループ化し、GROUP BY d により累計が順番に計算されるようにします。 このメソッドは、毎日の注文数 (ORDER BY d) および日 (rt) とともに累計列 (c) を効率的に生成します。d

以上がMySQL で 1 つのクエリで累計を計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート