一定期間の日ごと、時間ごとの統計データを取得するMySQLの詳しい説明

一定期間の日ごと、時間ごとの統計データを取得するMySQLの詳しい説明

毎日の統計情報を取得する

プロジェクトを実行する際、プロジェクト ログを分析する必要があります。要件の 1 つは、特定の期間内の各日のログ データを取得することです。たとえば、2018-02-02 09:18:36 から 2018-03-05 23:18:36 までの各日のログ データを取得する必要があります。通常、この要件が見つかった場合は、関数を使用して解決することを検討し、SQL ステートメントを直接使用します。

選択
	DATE_FORMAT(トリガー時間、'%Y-%m-%d') トリガー日、
	COUNT(id) トリガーカウント
から
	`job_qrtz_trigger_log`
どこ
	トリガー時間 '2018-02-02 09:18:36' の間
'2018-03-05 23:18:36' と
GROUP BY トリガー日
トリガー時間で順序付けします。

クエリ結果:

上記のSQLの簡単な説明

まず、フィールドをクエリします。ここで、COUNT(id) triggerCount は必要な統計データの数です。実際のニーズに応じて、必要なフィールドを追加できます。

DATE_FORMAT(トリガー時間、'%Y-%m-%d') トリガー日

これは、YYYY-mm-dd の形式でフォーマットされた日付です。ここでのフォーマットは後続のグループ化に使用されるため、さまざまなニーズに応じてフォーマットをカスタマイズできます。

私の要件は、各日のログデータを取得することなので、年月日の形式でグループ化し、count(*) を通じて取得します。

ある月の各月のデータ量を取得したい場合は、形式を次のように変更します。

DATE_FORMAT(トリガー時刻、'%Y-%m')

もちろん、where 条件はフォーマットに一致する必要があります。where 条件を日付に制限して、月ごとにグループ化することはできません。

MySQL の日付出力形式は次のとおりです。

%a 曜日の略称
%b 月名の省略形
%c 月、数値
%D 英語の接頭辞付きの月日
%d 月の日付、数値 (00-31)
%e 月の日付、数値 (0-31)
%f マイクロ秒
%H 時間 (00-23)
%h 時間 (01-12)
%I 時間 (01-12)
%i 分、値 (00-59)
%j 年の日数 (001-366)
%k 時間 (0-23)
%l 時間 (1-12)
%M 月名
%m 月、数値 (00-12)
%p 午前または午後
%r 時刻、12 時間制 (hh:mm:ss AM または PM)
%S 秒 (00-59)
%s 秒 (00-59)
%T 時間、24 時間 (hh:mm:ss)
%U 週 (00-53) 日曜日は週の最初の日です
%u 週 (00-53) 月曜日が週の最初の日です
%V 週 (01-53) 日曜日は週の最初の日で、%X と一緒に使用されます。
%v 週 (01-53) 月曜日が週の最初の日です。%x と一緒に使用されます。
%W 曜日
%w 曜日 (0=日曜日、6=土曜日)
%X 年(日曜日を週の初日とする 4 桁)%V とともに使用される
%x 年(月曜日を週の始まりとする 4 桁)%v とともに使用される
%Y 年、4桁
%y 年、2桁

一日の時間ごとの統計情報を取得する

MySQLに付属のHOUR関数を使用して処理します

HOUR(trigger_time) を Hour として、count(*) を Count として選択します。 
  xxl_job_qrtz_trigger_log から 
  どこ
	トリガー時間 '2018-02-05 01:18:36' の間
かつ '2018-02-05 17:18:36'
  GROUP BY HOUR(トリガー時間) ORDER BY Hour(トリガー時間);

クエリの結果は次のとおりです

上記は、編集者が紹介した、一定期間内の毎日と毎時間の統計データを取得するためのMySQLの詳細な説明と統合です。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

以下もご興味があるかもしれません:
  • 指定された期間内のすべての日付または月を取得する MySQL ステートメント (ストアド プロシージャの設定やテーブルの追加は不要)
  • MySQL DATEDIFF 関数を使用して 2 つの日付間の時間間隔を取得する方法
  • 同じ日の最初の3つのデータを取得するためのMySQLタイムラインデータ
  • 今日と昨日の 0:00 タイムスタンプを取得する MySQL の例
  • mysqlは昨日の日付、今日の日付、明日の日付、前の時間と次の時間の時刻を取得します
  • mysqlは指定された期間内の統計データを取得します
  • MySQLで時間を取得する方法

<<:  仮想マシンを作成し、VMware に Redhat Linux オペレーティング システムをインストールする (グラフィック チュートリアル)

>>:  vue+rem カスタムカルーセル効果

推薦する

MySQL btree インデックスとハッシュ インデックスの違い

MySQL では、ほとんどのインデックス (PRIMARY KEY、UNIQUE、INDEX、FUL...

MyBatis 動的 SQL の包括的な説明

目次序文動的SQL 1. まずモジュールのディレクトリ構造を見てみましょう2. 物理モデリングと論理...

MySQLクエリトランザクション処理へのノード接続の実装

目次トピックmysqlの追加、削除、変更、クエリを入力しますMySQL トランザクション処理私は M...

MySQL データベースのステートメント ワイルドカード ファジー クエリの概要

MySQL エラー: パラメータ インデックスが範囲外です (1 > パラメータ数、つまり 0...

Vueはカードフリップ効果を実現します

この記事では、カードフリップ効果を実現するためのVueの具体的なコードを例として紹介します。具体的な...

将来人気が出るであろういくつかのナビゲーション方向

<br />今は情報爆発の時代であるだけでなく、サービス爆発の時代でもあります。それはす...

Docker 実行時にユーザーとグループを管理する方法

Docker はプロセスを中核としてシステムリソースを分離する管理ツールです。分離は、オペレーティン...

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

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

Apache の一般的な仮想ホスト設定方法の分析

1. Apacheサーバーのインストールと設定yum インストール httpd -y systemc...

JS でページのスクリーンショット機能を実装する方法

「ページのスクリーンショット」は、ページポスターの生成、ポップアップ画像の共有など、フロントエンドで...

JavaScript 定期検証パスワード強度実装方法

展示する デザインパスワード強度分析パスワードは数字、文字、特殊記号で構成されていますパスワード: ...

MySQL 8.0 が起動できない 3534 の解決策

MySQL 8.0 サービスを開始できません最近、 cmdで MySQL サービスを起動するときに遭...

レスポンシブフレームワークのテーブルヘッダーの自動改行問題に対する簡単な解決策

最近、Bootstrap を使って Web サイトを開発しています。表を処理していたところ、PC で...

Windows Server 2016 でサービスを展開する方法 (グラフィック チュートリアル)

導入インストールするシステムの数が多い場合、USB フラッシュ ドライブまたは CD を使用した手動...