過去1時間のレコードを取得したり、レポートと分析のために過去1時間の行を取得したりすると便利です。この記事では、MySQLで過去1時間のデータを取得する方法を見ていきます。
MySQLで過去1時間のデータを取得する方法
INTERVAL句を使用すると、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',150), (3, '2021-02-02 08:55:00',200), (4, '2021-02-02 09:15:00',125), (5, '2021-02-02 09:30:00',200), (6, '2021-02-02 09:45:00',250); mysql> select * from sales; +------+---------------------+--------+ | id | order_date | amount | +------+---------------------+--------+ | 1 | 2021-02-02 08:15:00 | 250 | | 2 | 2021-02-02 08:30:00 | 150 | | 3 | 2021-02-02 08:55:00 | 200 | | 4 | 2021-02-02 09:15:00 | 125 | | 5 | 2021-02-02 09:30:00 | 200 | | 6 | 2021-02-02 09:45:00 | 250 | +------+---------------------+--------+
now()を使用して最新の時刻を表示するSQLは次のとおりです。 機能。
mysql> select now(); +---------------------+ | now() | +---------------------+ | 2021-02-02 09:48:27 | +---------------------+
これがMySQLで過去1時間のデータを取得するためのSQLです。
mysql> select * from sales where order_date > now() - interval 1 hour; +------+---------------------+--------+ | id | order_date | amount | +------+---------------------+--------+ | 3 | 2021-02-02 08:55:00 | 200 | | 4 | 2021-02-02 09:15:00 | 125 | | 5 | 2021-02-02 09:30:00 | 200 | | 6 | 2021-02-02 09:45:00 | 250 | +------+---------------------+--------+
上記のクエリでは、 order_dateの行のみを選択します。 過去1時間の間隔内にあります。 INTERVAL句を使用して、 now()を使用して取得した現在時刻から1時間間隔を簡単に差し引くことができます。 機能。
MySQLで現在の時間データを取得する方法
MySQLで現在の時間の記録を取得する必要がある場合があります。これが現在の時間データを取得するためのSQLクエリです。
mysql> select * from sales where date(order_date)=date(now()) and hour(order_date)=hour(now()); +------+---------------------+--------+ | id | order_date | amount | +------+---------------------+--------+ | 4 | 2021-02-02 09:15:00 | 250 | | 5 | 2021-02-02 09:30:00 | 250 | | 6 | 2021-02-02 09:45:00 | 250 | +------+---------------------+--------+
上記のSQLクエリでは、 order_dateのレコードのみを選択します。 列のDATEとHOURの値は、現在の日時の値と同じです。 DATE関数とHOUR関数を使用して、日時の値から日付と時刻の値を取得します。
MySQL用のレポートツールが必要ですか? Ubiqを使用すると、データを数分で簡単に視覚化し、リアルタイムのダッシュボードで監視できます。今日それを試してみてください!