MySQLでは、1時間ごとのデータを取得したり、1時間ごとにレコードをフェッチしたりする必要がある場合があります。この記事では、MySQLで1時間ごとにデータを取得する方法を見ていきます。
MySQLで1時間ごとにデータを取得する方法
MySQLで1時間ごとにデータを取得する手順は次のとおりです。次のテーブルがあるとしますsales(id、order_date、amount)
mysql> create table sales(id int, order_date datetime, amount int); mysql> insert into sales(id, order_date, amount) values(1, '2021-02-02 08:15:00',250), (2, '2021-02-02 08:30:00',200), (3, '2021-02-02 08:55:00',150), (4, '2021-02-02 09:15:00',125), (5, '2021-02-02 09:30:00',250), (6, '2021-02-02 09:45:00',200), (7, '2021-02-02 10:15:00',180), (8, '2021-02-02 10:30:00',125), (9, '2021-02-02 10:45:00',200), (10, '2021-02-02 11:15:00',250), (11, '2021-02-02 11:30:00',150), (12, '2021-02-02 11:45:00',200); mysql> select * from sales; +------+---------------------+--------+ | id | order_date | amount | +------+---------------------+--------+ | 1 | 2021-02-02 08:15:00 | 250 | | 2 | 2021-02-02 08:30:00 | 200 | | 3 | 2021-02-02 08:55:00 | 150 | | 4 | 2021-02-02 09:15:00 | 125 | | 5 | 2021-02-02 09:30:00 | 250 | | 6 | 2021-02-02 09:45:00 | 200 | | 7 | 2021-02-02 10:15:00 | 180 | | 8 | 2021-02-02 10:30:00 | 125 | | 9 | 2021-02-02 10:45:00 | 200 | | 10 | 2021-02-02 11:15:00 | 250 | | 11 | 2021-02-02 11:30:00 | 150 | | 12 | 2021-02-02 11:45:00 | 200 | +------+---------------------+--------+
MySQLで1時間ごとにデータを取得する方法
これは、MySQLで1時間ごとにデータを取得するためのSQLクエリです。
mysql> select hour(order_date),sum(amount) from sales group by hour(order_date); +------------------+-------------+ | hour(order_date) | sum(amount) | +------------------+-------------+ | 8 | 600 | | 9 | 575 | | 10 | 505 | | 11 | 600 | +------------------+-------------+
上記のクエリでは、 order_dateでグループ化するだけです。 HOUR関数を使用して金額を集計します SUM関数を使用した列。
HOUR関数は、指定された日付/時刻/日時の値から時間番号を取得します。これは、リテラル文字列または列名として指定できます。
8AM、9AMなどのAM / PM表記を使用して時間値を表示する場合は、date_format関数を使用する必要があります。この関数を使用すると、特定の日付/時刻/日時値の形式を変更できます。リテラル文字列または列名。
mysql> select date_format(order_date,'%H %p') as hour, sum(amount) as total_sales from sales group by date_format(order_date,'%H %p'); +-------+-------------+ | hour | total_sales | +-------+-------------+ | 08 AM | 600 | | 09 AM | 575 | | 10 AM | 505 | | 11 AM | 600 | +-------+-------------+
MySQL用のレポートツールが必要ですか? Ubiqを使用すると、データを数分で簡単に視覚化し、リアルタイムのダッシュボードで監視できます。今日お試しください。