多くの場合、レポートと分析のために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を使用すると、データを数分で簡単に視覚化し、リアルタイムのダッシュボードで監視できます。今日お試しください。