データベースの統計を行う場合、多くの場合、年、月、日に基づいてデータを収集し、echart を使用して視覚化を作成する必要があります。 データベース: MySQL アイデア 時間ディメンションに基づく統計の前提は、データベースに時間情報が保持されている必要があることです。時間を記録するには、MySQL に付属する datetime 型を使用することをお勧めします。
MySQL で時刻と日付を処理する主な関数は DATE_FORMAT(date,format) です。利用可能なパラメータは次のとおりです
注意: 日次統計の場合、%j が必要です。%d、%e、%w を使用すると、異なる月/週の同じ値が一緒にカウントされます。 現在の時刻を取得する場合は、now() または sysdate() を使用できます。 SYSDATE() を DUAL から選択します。 DUAL から NOW() を選択; 実際のニーズに応じて、group by クエリを使用できます。 結論<br /> カウントするテーブル構造は次のとおりです。 テーブル `apilog` を作成します ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(64) デフォルト NULL, `action` varchar(64) デフォルト NULL, `params` テキスト、 `結果`テキスト、 `timestamp` datetime デフォルト NULL、 主キー (`id`) ) 時間範囲内の異なるカテゴリのアクションの数をカウントします # 当日のアクションを SELECT します。COUNT(id) count FROM apilog WHERE DATE_FORMAT(`timestamp`,'%j') = DATE_FORMAT(now(),'%j') ORDER BY count desc; # 今週 SELECT action, COUNT(id) count FROM apilog WHERE DATE_FORMAT(`timestamp`,'%u') = DATE_FORMAT(now(),'%u') ORDER BY count desc; # 現在の月 SELECT action, COUNT(id) count FROM apilog WHERE DATE_FORMAT(`timestamp`,'%m') = DATE_FORMAT(now(),'%m') ORDER BY count desc; # SELECT action, COUNT(id) count FROM apilog WHERE DATE_FORMAT(`timestamp`,'%Y') = DATE_FORMAT(now(),'%Y') ORDER BY count desc; 特定の分類アクションの時間次元の数を数える # 日別 SELECT action, DATE_FORMAT(`timestamp`,'%j'), COUNT(id) count FROM apilog WHERE action = 'xxx' GROUP BY DATE_FORMAT(`timestamp`,'%j') # 週別 SELECT action, DATE_FORMAT(`timestamp`,'%u'), COUNT(id) count FROM apilog WHERE action = 'xxx' GROUP BY DATE_FORMAT(`timestamp`,'%u') # 月別 SELECT action, DATE_FORMAT(`timestamp`,'%m'), COUNT(id) count FROM apilog WHERE action = 'xxx' GROUP BY DATE_FORMAT(`timestamp`,'%m') # 年別 SELECT action, DATE_FORMAT(`timestamp`,'%Y'), COUNT(id) count FROM apilog WHERE action = 'xxx' GROUP BY DATE_FORMAT(`timestamp`,'%Y') 行動と時間の次元による統計を同時に表示 # 日別 SELECT action, DATE_FORMAT(`timestamp`,'%j'), COUNT(id) count FROM apilog GROUP BY action, DATE_FORMAT(`timestamp`,'%j') # 週別 SELECT action, DATE_FORMAT(`timestamp`,'%u'), COUNT(id) count FROM apilog GROUP BY action, DATE_FORMAT(`timestamp`,'%u') # 月別 SELECT action, DATE_FORMAT(`timestamp`,'%m'), COUNT(id) count FROM apilog GROUP BY action, DATE_FORMAT(`timestamp`,'%m') # 年別 SELECT action, DATE_FORMAT(`timestamp`,'%Y'), COUNT(id) count FROM apilog GROUP BY action, DATE_FORMAT(`timestamp`,'%Y') 上記は、最も一般的に使用される時間統計です。より多くの時間ディメンションについては、同様の処理について上記のパラメータ テーブルを参照してください。 以下もご興味があるかもしれません:
|
<<: CentOS7 に MySQL データベースをインストールしてデバッグする詳細な手順 [例]
>>: vue-router 履歴モード サーバー側設定プロセス記録
目次基本的なセレクター:レベルセレクター:属性セレクター:フィルターセレクター:フォーム属性セレクタ...
日々の運用・保守作業において、MySQL データベースのバックアップは重要です。ウェブサイトにとって...
1. Yumのインストール yum でサブバージョンをインストール 2. 構成1. 倉庫を作る/ho...
目次インストール手順環境設定実行構成インストール手順ダウンロードアドレス: バージョン6.0 最初に...
昨年、この公開書簡は大ヒットし、羅永浩氏を驚かせた。今日、著者が新しい章を発表するとは思ってもみなか...
IIS7 では、「URL REWRITE2」疑似静的モジュールがインストールされているかどうかを確...
Dockerfileを初期化するプロジェクトの名前が express であると仮定して、expres...
プロジェクトでは、フォーム テストが頻繁に発生します。単一のフォーム テストについては、詳細な紹介が...
スレッドがテーブルに対して DELAYED ステートメントを実行するときに、そのようなハンドラーが存...
この記事では、大画面ページのスクリーンアダプテーションを実現するためのVueの具体的なコードを参考ま...
Msyqlデータベースのインストール、参考までに具体的な内容は次のとおりです。 ①ブラウザでhttp...
この記事では、参考までに、カルーセル効果の具体的なコードをJavaScript+CSSを使用して実装...
背景あっという間に忙しい一年が終わり、毎年恒例のイベントの時期がやってきます。お祭り気分を演出するに...
おそらく誰もが js の実行によって DOM ツリーの解析とレンダリングがブロックされることを知って...
nginx をリバース プロキシとして使用する場合、リクエストをそのまま次のサービスに転送するだけで...