需要背景統計インターフェースでは、フロントエンドは 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 をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
この記事ではvueを使用し、マウスクリックイベントといくつかの小さなページの最適化を追加します。 基...
mysqlはデータディレクトリ内のファイルをコピーしてデータを復元します背景: MySQL がクラッ...
目次react-beautiful-dndを選ぶ理由基本的な使い方基本概念使い方使用中に発生した問題...
勉強の計画は簡単に中断され、継続するのが困難です。先日、社内で事業の方向性を調整するための会議があり...
目次複数の種類のフィルタリングをサポート複数の範囲のクエリを避ける並べ替えを最適化するインデックスの...
目次1. 遅延読み込みとは何ですか? 2. 遅延読み込みを実装する🌄: 2.1 最初の方法: 2.2...
この記事では、無限ループスクロールを実現するためのReactの具体的なコードを参考までに紹介します。...
この記事では、MySQL の ROUND 関数を使用した丸め操作の落とし穴を例を使って説明します。ご...
序文MySQL には次の 4 種類の演算子があります。算術演算子比較演算子論理演算子ビット演算子これ...
mysql5.7.18の解凍版はmysqlサービスを起動します。具体的な内容は以下のとおりです。 1...
皆様の参考と操作を容易にするために、様々な主要ウェブサイトを検索し、関連するスケジュールされたタスク...
先日、外国人の方がHTML+CSSを使ってHamburgerMenuを実装している動画を見ました。最...
この記事は主に、初心者に XHTML の基本的な知識と、XHTML と HTML の違いを理解しても...
序文これまでは、/bin/ ディレクトリのソフトリンクを変更して Python のバージョンを切り替...
参考までに、シンプルなナンバープレート入力コンポーネント(vue)です。具体的な内容は次のとおりです...