需要背景統計インターフェースでは、フロントエンドは 2 つの配列を返す必要があります。1 つは 0 から 23 までの時間数で、もう 1 つは各時間に対応する統計数値です。 アイデアは、group by を直接使用して、カウントするテーブルをクエリすることです。特定の時間の統計数が 0 の場合、その時間はグループ化されません。考えてみると、時間を表す列が1つだけの補助テーブルを作成し、0~23を挿入して合計24時間を表す必要があります。 テーブル hours_list を作成します ( 時間 int NOT NULL 主キー ) まず時間表を確認し、次に確認する必要がある表を接続し、統計のない時間を 0 で入力します。ここでは、複数のテーブルをクエリする必要があるため、create_time は各時間間隔内にあり、SOURCE_ID はクエリ条件の統計合計に等しいため、複数のテーブルを UNION ALL します。 選択 t.時間、 sum(t.HOUR_COUNT) 時間カウント から (選択 hs. 時間として時間、 COUNT(cs.RECORD_ID) を HOUR_COUNT として計算する から cbc_hours_list hs LEFT JOIN cbc_source_0002 cs ON HOUR (cs.create_time) = hs.HOUR かつ cs.create_time > #{startTime} かつ cs.create_time <= #{endTime} <#if sourceId?exists && sourceId !=''> かつ SOURCE_ID = #{sourceId} </#if> グループ化 hs. 時間 ユニオンオール 選択 hs.HOUR AS HOUR、 COUNT(cs.RECORD_ID) を HOUR_COUNT として計算する から cbc_hours_list hs cbc_source_hs cs ON HOUR を左結合します (cs.create_time) = hs.HOUR かつ cs.create_time > #{startTime} かつ cs.create_time <= #{endTime} <#if sourceId?exists && sourceId !=''> かつ SOURCE_ID = #{sourceId} </#if> グループ化 hs. 時間 ユニオンオール 選択 hs.HOUR AS HOUR、 COUNT(cs.RECORD_ID) を HOUR_COUNT として計算する から cbc_hours_list hs 左結合 cbc_source_kfyj cs ON HOUR (cs.create_time) = hs.HOUR かつ cs.create_time > #{startTime} かつ cs.create_time <= #{endTime} <#if sourceId?exists && sourceId !=''> かつ SOURCE_ID = #{sourceId} </#if> グループ化 hs. 時間 ユニオンオール 選択 hs.HOUR AS HOUR、 COUNT(cs.RECORD_ID) を HOUR_COUNT として計算する から cbc_hours_list hs 左結合 cbc_source_his_0002 cs ON HOUR (cs.create_time) = hs.HOUR かつ cs.create_time > #{startTime} かつ cs.create_time <= #{endTime} <#if sourceId?exists && sourceId !=''> かつ SOURCE_ID = #{sourceId} </#if> グループ化 hs. 時間 ユニオンオール 選択 hs.HOUR AS HOUR、 COUNT(cs.RECORD_ID) を HOUR_COUNT として計算する から cbc_hours_list hs 左結合 cbc_source_his_hs cs ON HOUR (cs.create_time) = hs.HOUR かつ cs.create_time > #{startTime} かつ cs.create_time <= #{endTime} <#if sourceId?exists && sourceId !=''> かつ SOURCE_ID = #{sourceId} </#if> グループ化 hs. 時間 ユニオンオール 選択 hs.HOUR AS HOUR、 COUNT(cs.RECORD_ID) を HOUR_COUNT として計算する から cbc_hours_list hs 左結合 cbc_source_his_kfyj cs ON HOUR (cs.create_time) = hs.HOUR かつ cs.create_time > #{startTime} かつ cs.create_time <= #{endTime} <#if sourceId?exists && sourceId !=''> かつ SOURCE_ID = #{sourceId} </#if> グループ化 hs. 時間) t グループ化 t.時間 効果統計カウントが 0 の時間も見つかります。 これで、MySQL データを時間単位でクエリし、欠落しているデータをゼロで埋める方法についての説明は終わりです。MySQL データを時間単位でクエリする方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
序文モバイル端末の開発の過程で、モバイル端末のディスプレイはデスクトップ端末のディスプレイとは一般的...
ユーザー テーブルを設計するときに、各人の ID 番号が一意であり、検索する必要があるシナリオを想像...
目次構成nfs サーバー (nfs.skills.com) nfs クライアント (client.s...
<table>テーブルデータをJSON形式に変換するJavaScript関数は次のとおり...
CentOS8 に最小限のデプロイメントで OpenStack Ussuri をインストールするため...
1. 環境整備1.MySQLインストールパス: /usr/local 2. CentOS 6.2 ...
目次1. 電流制限アルゴリズム2. nginxの基礎知識4. 実戦要約する高並行性システムには、キャ...
inode番号でファイルを削除するまずls -iを使用して、削除するファイルのinode番号を見つけ...
1. ElasticSearch 6.4.1 インストール パッケージを次の場所からダウンロードしま...
ストアドプロシージャとは簡単に言えば、これは強力で、JAVA 言語のメソッドに似た比較的複雑な論理関...
序文Vue Router は、Vue.js の公式ルーティング マネージャーです。 Vue.js の...
1. ノーフープハングアップ信号を無視してプログラムを実行する追加メモnohup コマンドは、ハン...
目次1. Vueフロントエンドを構成する1. クロスドメイン構成を開発する2. 本番環境のクロスドメ...
まず、SFTP プロトコルと FTP プロトコルの違いを理解してください。ここでは詳細には触れません...
目次1. copy_{to,from}_user() とは何か1. copy_{to,from}_u...