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は仮想ファイルの実装を導入します

推薦する

HTML における rel="nofollow" の役割と rel 属性の使用を分析する

リンクに rel="nofollow" 属性を追加すると、検索エンジンにこの接続...

Golang を使って Docker API を実際に操作する

目次SDKのインストールローカル Docker の管理コンテナの実行バックグラウンドでコンテナを実行...

Linux で PHP を 5.6 にアップグレードする実用的な方法

1: ターミナルに入ったらPHPのバージョンを確認する php -v出力は次のようになります。 PH...

VMWare を使用して Windows 上で Linux 環境を構築する手順 (画像とテキスト)

Mac を返却して以来、元のラップトップは使用されていません。このラップトップの構成は非常に良好で...

Axiosは繰り返しのリクエストをキャンセル

目次序文1. リクエストをキャンセルする方法2. 重複リクエストの判定方法3. 繰り返しリクエストを...

MySQL データベースの基礎 SQL ウィンドウ関数の例の分析チュートリアル

目次導入導入集計関数 + over()ソート関数 + over() ntile() 関数 + ove...

CentOS7 で MySQL のスケジュールされた自動バックアップを実装する方法

実稼働環境で起こる最も嬉しいことは、シナリオによっては、更新または削除時にパラメータを無視せざるを得...

div の水平レイアウトを両側に揃える 3 つの方法

この記事では、主に、div の水平レイアウトの両側の配置を実装する 3 つの方法を紹介し、それらを共...

MySQLにおける正規表現の一般的な使用法

MySQL における Regexp の一般的な使用法特定の文字列を含むあいまい一致# コンテンツフィ...

JavaScript を使用してページ要素のオフセットを取得/計算する方法

質問コントロールをクリックすると、コントロールの下にフローティング レイヤーが表示されます。通常の方...

Windows 10 に TomCat をインストールするチュートリアル図

WindowsにTomCatをインストールするこの記事では、WindowsプラットフォームにTomC...

Mysql5.7.14 インストールと設定方法操作グラフィックチュートリアル(パスワード問題解決)

この記事は主に、以前のインストール方法を使用して MySQL 5.7.14 をインストールするときに...

Docker を使用した ELK7.3.0 ログ収集サービスの導入に関するベスト プラクティス

最初に書くこの記事では、ELK 7.3.0 の展開についてのみ説明します。展開環境:システムセントO...

MySQL マスタースレーブレプリケーションプロセスの詳細な説明

1. マスタースレーブレプリケーションとは何ですか?マスター データベースの DDL および DML...

React プロジェクトにおける TypeScript の使用の概要

序文この記事では、TS の基本的な概念ではなく、プロジェクトで TypeScript (以下、TS ...