過去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を使用すると、データを数分で簡単に視覚化し、リアルタイムのダッシュボードで監視できます。今日それを試してみてください!