MySQL 継続的集計の原理と使用法の分析

MySQL 継続的集計の原理と使用法の分析

この記事では、例を使用して、MySQL の継続的な集計の原理と使用方法を説明します。ご参考までに、詳細は以下の通りです。

連続集計は、順序付けられたデータを時間順に集計する操作です。

次の例では、EmpOrders テーブルを使用して、各従業員の毎月の注文数量を保存します。

次のコードを実行して、EmpOrders テーブルを作成し、サンプル データを入力します。

テーブル EmpOrders を作成します (
empid INT NOT NULL、
注文月 DATE NOT NULL、
数量 INT NOT NULL、テスト
主キー (empid,ordermonth)
);

order テーブルと orderdetails テーブルをクエリし、各月の注文を EmpOrder テーブルに挿入します。SQL ステートメントは次のとおりです (コツは月ごとにグループ化することです)

EmpOrdersに挿入
SELECT a.employeeid,orderdate AS Order date,SUM(quantity) AS qty
FROMの注文
INNER JOIN 注文詳細 b
ON a.orderid=b.orderid
GROUP BY 雇用ID、DATE_FORMAT(注文日、'%Y-m');

以下はサンプルデータを生成するPHPファイルです

<?php
$sql = "INSERT INTO emporders SELECT %s,'%s-%02d-01',%s;".'<br />';
$insert_sql = '';
($empid=1;$empid<=8;$empid++) の場合
{
  ($year=2009;$year<=2015;$year++) の場合
  {
    ($month=1;$month<=12;$month++) の場合
    {
      数値 = ランド(20,800);
      $insert_sql .= sprintf($sql、$empid、$year、$month、$num);
    }
    $insert_sql .= '<br />';
  }
}
$insert_sql をエコーし​​ます。

以下は従業員注文テーブルEmpOrderのデータの一部です。

以下では、EmpOrders テーブルに基づく、累積、スライド、および年累計の 3 つの継続的な集計の問題について説明します。

MySQL 関連のコンテンツに興味のある読者は、このサイトの次のトピックをチェックしてください: 「MySQL クエリ スキル」、「MySQL 共通関数の概要」、「MySQL ログ操作スキル」、「MySQL トランザクション操作スキルの概要」、「MySQL ストアド プロシージャ スキル」、および「MySQL データベース ロック関連スキルの概要」

この記事が皆様のMySQLデータベース設計に役立つことを願っています。

以下もご興味があるかもしれません:
  • MySQL の集計関数 count の使用法とパフォーマンスの最適化テクニック
  • MySQLでよく使われる集計関数の詳細な説明
  • MySql の集計関数に条件式を追加する方法
  • php+mysql オープンソース XNA 集計プログラムがダウンロード用にリリースされました
  • Mysql は非集計列を選択できません
  • MySQL の単一テーブル クエリ操作例の詳細な説明 [構文、制約、グループ化、集計、フィルタリング、並べ替えなど]
  • MySQL クエリのソートとクエリ集計関数の使用法の分析
  • MySQLは集計関数を使用して単一のテーブルをクエリします
  • MySQL グループ化クエリと集計関数
  • MySQL 集計統計データの低速クエリの最適化

<<:  jQueryはHTML要素の非表示と表示を実装します

>>:  Viteは仮想ファイルの実装を導入します

推薦する

MySQL マスタースレーブ同期の原理と応用

目次1. マスタースレーブ同期原理マスタースレーブ同期アーキテクチャ図(非同期同期)マスタースレーブ...

水平スクロールバーを実装する2つの方法の例

序文:プロジェクトの開発中に、1 行にナビゲーション バーが多すぎる場合に水平スクロール バーを実装...

VMware IOInsight を使用して、仮想マシンのストレージ パフォーマンスの監視を改良する

例: VMware IOInsight は、VM のストレージ I/O 動作を理解するのに役立つツー...

MySQL 8で追加された3つの新しいインデックスは、非表示、降順、関数です。

目次MySQL 8 の隠しインデックス、降順インデックス、関数インデックス1. 隠しインデックス1....

Linux でパスワードを入力せずに sudo コマンドを実行する方法

sudo コマンドを使用すると、信頼できるユーザーは別のユーザー (デフォルトでは root ユーザ...

Python の MySQL データベース LIKE 演算子の詳細な説明

LIKE 演算子は、列内の指定されたパターンを検索するため、WHERE 句で使用されます。文法: 列...

Nginx 構成検出サービスのステータスを実装する方法

1. チェックステータスモジュールがインストールされているかどうかを確認します。 [root@loc...

HTTP ステータス コード

このステータス コードは、リクエストのステータスに関する情報を提供し、サイトとリクエストされたページ...

Centos システムの指定された場所に Nginx をインストールする方法

Centos システムの指定された場所に Nginx をインストールするにはどうすればいいですか?は...

MySQLオンラインデータベースのデータをクリーンアップする方法

目次01 シナリオ分析02 操作方法03 結果分析01 シナリオ分析今日の午後、開発仲間がオンライン...

phpstudy から Linux への MySQL の移行に関するチュートリアル

プロジェクトの目的元のWindows環境でphpstudyを使用して構築されたMySQL 5.5.5...

CocosCreatorでクールなレーダーチャートを描く方法

目次序文プレビュー文章グラフィックコンポーネントプロパティ機能グリッドを描く軸角度を計算するスケール...

HTMLはキャンバスを使用して箇条書きスクリーン機能を実装します

導入最近、大きな課題をこなす際に、弾幕プレイヤーを作る必要がありました。他の人のソースコードを借りて...

MySQL 実践演習 シンプルなライブラリ管理システム

目次1. ソート機能2. データベースを準備する3. データベースに関連するエンティティクラスの構築...

CSS3はシームレスなスクロールと手ぶれ防止を実現します

質問画像とテキストのシームレスなスクロールは、一般的に携帯電話では良い効果をもたらしますが、一部のモ...