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

推薦する

Nexus サーバーを設定するための詳細な手順

1. ネクサスサービス構築の意義イントラネットの統合プロキシとして、チームで共同開発する場合、全員が...

ドロップダウンボックス選択コンポーネントを実装するためのネイティブ js

この記事の例では、ドロップダウンボックス選択コンポーネントを実装するためのjsの具体的なコードを参考...

Tomcat マルチインスタンスの展開と構成の原則

1. ファイアウォールをオフにし、Tomcatのインストールに必要なソフトウェアパッケージを/opt...

CentOS 7 に MySQL 8.0.20 データベースをインストールするための詳細なチュートリアル

関連記事: MySQL8.0.20 インストール チュートリアルとインストールの問題に関する詳細なチ...

MYSQL から MARIADB へのプロジェクト移行に関するチュートリアル

データベース (MySQL) を準備します。すでに MySQL をお持ちの場合は、これを無視できます...

州と市町村の連携を簡単に実現するJavaScript

この記事では、省と市の簡単な連携を実現するためのJavaScriptの具体的なコードを参考までに紹介...

Docker で MySQL データベースを使用して LAN アクセスを実現する

1. MySQLイメージを取得する docker pull mysql:5.6注: mysql5.7...

ElementUIはel-formフォームリセット機能ボタンを実装します

目次ビジネスシナリオ:効果のデモンストレーション:ビジネスシナリオ: el-form を使用する場合...

データベース管理に役立つ 5 つの MySQL GUI ツール

MySQL には多くのデータベース管理ツールがあります。作業効率の向上に役立つ優れた GUI ツール...

CentOS 8 Zabbix 4.4 インストール ガイド

Zabbix サーバー環境プラットフォームZABBIX バージョン 4.4セントOS8 MySQL ...

Vue のライフサイクルとフック関数の詳細な説明と典型的な面接の質問

目次1. Vue ライフサイクル2. フック機能2.1 4つの段階と8つの方法に分かれています。 2...

MySQL のデフォルトのストレージ エンジンを変更する方法

mysql ストレージ エンジン: MySQL サーバーはモジュール スタイルを採用しており、特にス...

Linux でソフトウェア パッケージのバージョンをアップグレードする方法の詳細な説明

Linux環境で、特定のソフトウェア(パッケージ)がインストールされているかどうかを確認したい。 r...

リモートDockerを使用した統合テスト環境の構築手順

需要背景チームには統合テストが必要であり、そのためには、mysql や rabbitmq などのミド...

Linux における mv コマンドの高度な使用例

序文mv コマンドは、move の略語で、ファイルを移動したり、ファイル名を変更したり (ファイルの...