多くの場合、レポートと分析のために2つの日付の間のデータを取得する必要があります。組み込み関数がなくても、MySQLで2つの日付の間のレコードを取得するのは非常に簡単です。これが、MySQL、PostgreSQL、SQLServerの2つの日付の間のレコードを選択するためのSQLです。
MySQLで2つの日付の間のレコードを取得する方法
これが、MySQLで2つの日付の間のレコードを取得するためのSQLです。
次のテーブルがあるとしますsales(order_date、sale)
mysql> create table sales(order_date date,sale int);
mysql> insert into sales(order_date,sale)
values('2020-06-01',250),
('2020-06-0',350),
('2020-06-02',400),
('2020-06-03',250),
('2020-06-04',200),
('2020-06-05',180),
('2020-06-06',150),
('2020-06-07',650),
('2020-06-08',500),
('2020-06-09',150);
mysql> select * from sales;
+------------+------+
| order_date | sale |
+------------+------+
| 2020-06-01 | 250 |
| 2020-06-00 | 350 |
| 2020-06-02 | 400 |
| 2020-06-03 | 250 |
| 2020-06-04 | 200 |
| 2020-06-05 | 180 |
| 2020-06-06 | 150 |
| 2020-06-07 | 650 |
| 2020-06-08 | 500 |
| 2020-06-09 | 150 |
+------------+------+
ボーナスリード:過去24時間のレコードを取得する方法
MySQLで2つの日付の間の行を取得する方法
これは、MySQLで2つの日付の間のレコードを取得するためのSQLクエリです。 2つの日付の間の行を取得するには、数学演算子を使用する方法と、BETWEEN関数を使用する方法の2つがあります。これら両方の方法を見ていきます。
ボーナスリード:MySQLで過去15日間のレコードを取得する方法
数学演算子の使用
order_dateのレコードを取得するとします。 2020-06-02と2020-06-06の2つの日付の間にあります。数学演算子を使用して2つの日付の間のデータを取得するSQLは次のとおりです。
mysql> select * from sales
where order_date>='2020-06-02'
and order_date<='2020-06-06';
+------------+------+
| order_date | sale |
+------------+------+
| 2020-06-02 | 400 |
| 2020-06-03 | 250 |
| 2020-06-04 | 200 |
| 2020-06-05 | 180 |
| 2020-06-06 | 150 |
+------------+------+
上記のクエリでは、order_dateが2020-06-02以降および2020-06-06以前のレコードを選択します。>、<、=、<>などの他の数学演算子を日付とともに使用することもできます。このSQLクエリを使用して、PostgreSQL、SQL Server、およびOracleの2つの日付の間のレコードを選択することもできます。
ボーナスリード:MySQLの各グループで最初のレコードを取得する方法
特定の日付から現在の日付までのレコードを選択する場合は、 current_dateのようなシステム関数を使用できます。 またはnow() クエリで。
mysql> select * from sales
where order_date>'2020-06-02'
and order_date<current_date;
+------------+------+
| order_date | sale |
+------------+------+
| 2020-06-03 | 250 |
| 2020-06-04 | 200 |
| 2020-06-05 | 180 |
| 2020-06-06 | 150 |
| 2020-06-07 | 650 |
| 2020-06-08 | 500 |
+------------+------+
BETWEEN演算子の使用
BETWEEN演算子を使用して2つの日付の間のデータを選択することもできます
mysql> select * from sales
where order_date
BETWEEN '2020-06-02' and '2020-06-06';
+------------+------+
| order_date | sale |
+------------+------+
| 2020-06-02 | 400 |
| 2020-06-03 | 250 |
| 2020-06-04 | 200 |
| 2020-06-05 | 180 |
| 2020-06-06 | 150 |
+------------+------+
レコードを選択する際、BETWEENオペレーターは、言及した2つの日付の間のレコードと、2つの日付のレコードを含めます。
Ubiqを使用すると、データを数分で簡単に視覚化し、リアルタイムのダッシュボードで監視できます。今日お試しください。