訪問者が到着した時点を示す訪問者データを含むMySqlテーブルがあります。時刻を合わせてデータを集計しようとしています。来場者数:今日の1時間あたりの訪問者数を集計するためのMySqlクエリ
+----------+---------------------------+---------------------------+
|visitor |entry_time |exit_time |
+----------+---------------------------+---------------------------+
|a |2017-11-20 11:30:00 |2017-11-20 14:15 |
|b |2017-11-20 10:30:00 |2017-11-20 11:20:00 |
|c |2017-11-20 09:50:00 |2017-11-20 17:05:00 |
|d |2017-11-20 10:00:00 |2017-11-20 13:25:00 |
|e |2017-11-20 12:40:00 |2017-11-20 16:30:00 |
|f |2017-11-20 13:20:00 |2017-11-20 15:20:00 |
+----------+---------------------------+---------------------------+
私は、各時間の存在の訪問者の数を取得したいのですが:
+-----------------------+-------------------+
|time_of_day |number_of_visitors |
+-----------------------+-------------------+
|2017-11-20 08:00 |0 |
|2017-11-20 09:00 |1 |
|2017-11-20 10:00 |3 |
|2017-11-20 11:00 |4 |
|2017-11-20 12:00 |4 |
|2017-11-20 13:00 |5 |
|2017-11-20 14:00 |4 |
|2017-11-20 15:00 |3 |
|2017-11-20 16:00 |2 |
|2017-11-20 17:00 |1 |
+-----------------------+-------------------+
私は時間で終了するか、またはエントリの数をカウントするクエリを作成することができます
SELECT
str_to_date(date_format((`entry_time`),'%y-%M-%D %H:00:00'), '%Y-%M-%D %H:00:00') AS `time_of_day`,
COUNT(DISTINCT `visitors`) AS `number_of_visitors`
FROM
`tbl_visitors`
GROUP BY 1
しかし、1日のうちのいつでも(および任意の曜日の)訪問者の総数を集計するクエリを作成することができませんでした。
チャグループを設定する –
カレンダーテーブルを作成します。そのテーブルで右ジョイン。 – jarlh
この問題(null結果)の1つの側面は、表示上の問題であり、アプリケーションコードで最もよく処理されます。 – Strawberry