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

MySQL で累計を計算するにはどうすればよいですか?

Susan Sarandon
リリース: 2025-01-22 06:31:12
オリジナル
612 人が閲覧しました

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; 現在の合計変数をゼロに初期化します。
  • サブクエリ (q1) は、主要な計算を処理し、年間の日付 (d) と支払われた注文数 (c) を取得します。
  • (@runtot := @runtot q1.c) AS rt 各 c 値を前の累計合計に加算して累計を計算し、それを「rt」列に割り当てます。

このクエリの結果は、毎日の支払済み注文の累計を表す「rt」列が追加された新しいテーブルになります。

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

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