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