MySQLで過去15日間の行を取得する必要がある場合があります。 MySQLで過去15日間のレコードを取得する方法は次のとおりです。また、過去15日間に登録したユーザー数を取得したり、過去15日間の売上データを選択してさらに分析したりすることもできます。
MySQLで過去15日間のレコードを取得する方法
MySQLで過去15日間のレコードを取得する手順は次のとおりです。
次の表があるとします。sales(order_date、sale、orders) 1日の注文数と販売額が含まれています。
mysql> create table sales(order_date date,sale int, orders int);
mysql> insert into sales(order_date ,sale ,orders )
values( '2020-04-28' , 300 , 10 ),
( '2020-04-29' , 250 , 15 ),
( '2020-04-30' , 250 , 12 ),
( '2020-05-01' , 250 , 14 ),
( '2020-05-02' , 150 , 20 ),
( '2020-05-03' , 300 , 21 ),
( '2020-05-04' , 200 , 15 ),
( '2020-05-05' , 200 , 17 ),
( '2020-05-06' , 250 , 12 ),
( '2020-05-07' , 150 , 15 ),
( '2020-05-08' , 300 , 12 ),
( '2020-05-09' , 280 , 18 ),
( '2020-05-10' , 320 , 16 ),
( '2020-05-11' , 400 , 15 ),
( '2020-05-12' , 250 , 13 ),
( '2020-05-13' , 100 , 16 ),
( '2020-05-14' , 200 , 18 );
mysql> select * from sales;
+------------+------+--------+
| order_date | sale | orders |
+------------+------+--------+
| 2020-04-28 | 300 | 10 |
| 2020-04-29 | 250 | 15 |
| 2020-04-30 | 250 | 12 |
| 2020-05-01 | 250 | 14 |
| 2020-05-02 | 150 | 20 |
| 2020-05-03 | 300 | 21 |
| 2020-05-04 | 200 | 15 |
| 2020-05-05 | 200 | 17 |
| 2020-05-06 | 250 | 12 |
| 2020-05-07 | 150 | 15 |
| 2020-05-08 | 300 | 12 |
| 2020-05-09 | 280 | 18 |
| 2020-05-10 | 320 | 16 |
| 2020-05-11 | 400 | 15 |
| 2020-05-12 | 250 | 13 |
| 2020-05-13 | 100 | 16 |
| 2020-05-14 | 200 | 18 |
+------------+------+--------+
ボーナスリード:各グループの最後のレコードを取得する方法
SQLで過去15日間の売上データを取得する方法
MySQLで過去15日間のレコードを取得するためのSQLクエリは次のとおりです
mysql> select * from sales
where order_date> now() - INTERVAL 15 day;
+------------+------+--------+
| order_date | sale | orders |
+------------+------+--------+
| 2020-04-30 | 250 | 12 |
| 2020-05-01 | 250 | 14 |
| 2020-05-02 | 150 | 20 |
| 2020-05-03 | 300 | 21 |
| 2020-05-04 | 200 | 15 |
| 2020-05-05 | 200 | 17 |
| 2020-05-06 | 250 | 12 |
| 2020-05-07 | 150 | 15 |
| 2020-05-08 | 300 | 12 |
| 2020-05-09 | 280 | 18 |
| 2020-05-10 | 320 | 16 |
| 2020-05-11 | 400 | 15 |
| 2020-05-12 | 250 | 13 |
| 2020-05-13 | 100 | 16 |
| 2020-05-14 | 200 | 18 |
+------------+------+--------+
上記のクエリでは、システム関数 now()を使用しています。 現在の日時を取得します。次に、INTERVAL句を使用して、現在の日時の15日前にorder_dateが該当するレコードをフィルタリングします。
ボーナスリード:MySQLで過去12か月のデータを取得する方法
過去15日間に登録と新規ユーザーを獲得する方法
同様に、MySQLで過去15日間に新しいサインアップとユーザーを取得することもできます。次のテーブルがあるとしますUsers(user_id、date_joined) サインアップデータが含まれています。
mysql> select * from users; +-------------+---------+ | date_joined | user_id | +-------------+---------+ | 2020-04-20 | 213 | | 2020-04-22 | 214 | | 2020-04-23 | 215 | | 2020-04-24 | 216 | | 2020-04-25 | 217 | | 2020-04-26 | 218 | | 2020-04-27 | 219 | | 2020-04-28 | 220 | | 2020-04-29 | 221 | | 2020-05-30 | 222 | | 2020-05-30 | 222 | | 2020-05-01 | 223 | | 2020-05-01 | 224 | | 2020-05-02 | 225 | | 2020-05-02 | 226 | | 2020-05-03 | 226 | | 2020-05-04 | 227 | | 2020-05-04 | 228 | | 2020-05-05 | 229 | | 2020-05-05 | 230 | | 2020-05-05 | 231 | | 2020-05-05 | 232 | | 2020-05-06 | 233 | | 2020-05-08 | 234 | +-------------+---------+
ボーナスリード:MySQLビューを作成する方法
これは、MySQLで過去15日間に毎日新規登録とユーザーを取得するためのSQLクエリです。
mysql> select * from users
where date_joined> now() - INTERVAL 15 day;
+-------------+---------+
| date_joined | user_id |
+-------------+---------+
| 2020-04-23 | 215 |
| 2020-04-24 | 216 |
| 2020-04-25 | 217 |
| 2020-04-26 | 218 |
| 2020-04-27 | 219 |
| 2020-04-28 | 220 |
| 2020-04-29 | 221 |
| 2020-05-30 | 222 |
| 2020-05-30 | 222 |
| 2020-05-01 | 223 |
| 2020-05-01 | 224 |
| 2020-05-02 | 225 |
| 2020-05-02 | 226 |
| 2020-05-03 | 226 |
| 2020-05-04 | 227 |
| 2020-05-04 | 228 |
| 2020-05-05 | 229 |
| 2020-05-05 | 230 |
| 2020-05-05 | 231 |
| 2020-05-05 | 232 |
| 2020-05-06 | 233 |
| 2020-05-08 | 234 |
+-------------+---------+
上記のクエリでは、システム関数 now()を使用しています。 現在の日時を取得します。次に、INTERVAL句を使用して、現在の日時の15日前にorder_dateが該当するレコードをフィルタリングします。
それでおしまい!ご覧のとおり、INTERVAL句を使用してMySQLで過去15日間のレコードを取得するのは非常に簡単です。
Ubiqを使用すると、データを数分で簡単に視覚化し、リアルタイムのダッシュボードで監視できます。今日お試しください。