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

推薦する

Webpack コンポーネントの使用状況統計を実装するための 50 行のコード

背景最近、リーダーからコンポーネント ライブラリを構築するように依頼があり、プロジェクトで現在使用さ...

Linux での MySQL 5.7 の導入とリモート アクセス構成

前書き: 最近、私はパートナーとチームを組んで .NET Core プロジェクトに取り組む予定です。...

MySQL XA で分散トランザクションを実装する方法

目次序文XA プロトコルMySQL XA で分散トランザクションを実装する方法序文MySQL が単一...

SQLベースのクエリステートメント

目次1. 基本的なSELECT文1. 指定されたフィールドをクエリする3. エイリアスを設定する4....

MySQL の隠し列の詳細表示

目次1. 主キーが存在する2. 主キーはないが、一意のインデックスが存在する3. 共同主キーまたは共...

Mysql マルチテーブル結合クエリの実行の詳細について簡単に説明します。

まず、このブログのケースデモンストレーション テーブルを作成します。 create table a(...

Alibaba Cloud Ubuntu 16.04 が IPSec サービスを構築

IPSec の概要IPSec (インターネット プロトコル セキュリティ): ネットワーク層と適用さ...

MYSQL データベースの基礎 - 結合操作の原理

結合では、ネスト ループ結合アルゴリズムが使用されます。ネスト ループ結合には 3 つの種類がありま...

JavaScriptでページスクロールアニメーションを実装する

目次レイアウトを作成するCSSスタイルを追加するJavaScript で要素を操作する対象要素を取得...

歴史的な Linux 画像処理および修復ソリューション

従来の Linux イメージで作成された ECS クラウド サーバーには、NTP と YUM が設定...

mysql 複数テーブル接続削除関数の削除

単一のテーブルを削除する: tableName から columnName = value を削除し...

Linux 上の MySQL 5.7 でパスワードを忘れる問題を解決する

1. 問題Linux 上の mysql5.7 のパスワードを忘れました2. 解決策• ステップ 1:...

JavaScript のデシェイクとスロットリングの例

目次安定スロットル: 手ぶれ防止: 一定時間内に最後のタスクのみを実行します。スロットル: 一定期間...

JS でオブジェクトを作成する 4 つの方法

目次1. リテラル値でオブジェクトを作成する2. 新しいキャラクターを使ってオブジェクトを作成する3...

mysql8.0 でユーザーを作成して権限を付与する際のエラーの解決方法の詳細な説明

質問1:エラーを報告する書き込み方法: GRANT OPTION を使用して、'123123...