過去3か月の販売データを取得して、販売傾向を理解し、レポートとデータ分析を行うと便利です。ビジネス/ウェブサイトのMySQLで過去3か月の売上データを取得する方法は次のとおりです。 MySQLのINTERVAL関数を使用して過去3か月のレコードを選択する方法を見ていきます。
MySQLで過去3か月の売上データを取得する方法
MySQLで過去3か月の売上データを取得する手順は次のとおりです。次のテーブルがあるとしますsales(order_date、amount) 毎日の販売情報が含まれています。
mysql> select order_date,sale from sales; (showing only last few records) +------------+------+ | order_date | sale | +------------+------+ | 2020-01-28 | 230 | | ... | ... | | 2020-05-29 | 300 | | 2020-05-30 | 250 | | 2020-05-31 | 250 | | 2020-06-01 | 250 | | 2020-06-02 | 150 | | 2020-06-03 | 300 | | 2020-06-04 | 200 | | 2020-06-05 | 200 | | 2020-06-06 | 250 | | 2020-06-07 | 150 | | 2020-06-08 | 300 | | 2020-06-09 | 200 | +------------+------+
ボーナスリード:今月の記録を取得する方法
これは、MySQLで過去3か月の売上データを取得するためのSQLクエリです。これは、3か月の売上のローリングとも呼ばれます。 INTERVAL()関数を使用して、過去3か月の売上データを取得します。
mysql>select order_date,sale from sales where order_date > now() - INTERVAL 3 MONTH; (showing only last few records) +------------+------+ | order_date | sale | +------------+------+ | 2020-02-09 | 230 | | ... | ... | | 2020-05-29 | 300 | | 2020-05-30 | 250 | | 2020-05-31 | 250 | | 2020-06-01 | 250 | | 2020-06-02 | 150 | | 2020-06-03 | 300 | | 2020-06-04 | 200 | | 2020-06-05 | 200 | | 2020-06-06 | 250 | | 2020-06-07 | 150 | | 2020-06-08 | 300 | | 2020-06-09 | 200 | +------------+------+
上記のSQLクエリでは、MySQLに order_dateのすべての日付の売上データを取得するように指示しています。 指定された間隔内、つまり、今から過去3か月以内です。
ボーナスリード:MySQLでヒストグラムを作成する方法
月によって日数が異なるため、INTERVAL3か月と言うと 、MySQLは、その月のまったく同じ日の後、3か月前にデータを取得します。つまり、今日が6月9日の場合、3月9日からの売上データを取得します。
過去90日間の売上データを取得する場合は、SQLクエリを使用して過去90日間の売上データを取得します。
mysql>select order_date,sale from sales where order_date > now() - INTERVAL 90 DAY; (showing only last few records) +------------+------+ | order_date | sale | +------------+------+ | 2020-03-11 | 230 | | ... | ... | | 2020-05-29 | 300 | | 2020-05-30 | 250 | | 2020-05-31 | 250 | | 2020-06-01 | 250 | | 2020-06-02 | 150 | | 2020-06-03 | 300 | | 2020-06-04 | 200 | | 2020-06-05 | 200 | | 2020-06-06 | 250 | | 2020-06-07 | 150 | | 2020-06-08 | 300 | | 2020-06-09 | 200 | +------------+------+
ボーナスリード:MySQLでコンバージョン率を計算する方法
order_dateごとに複数の行がある場合は、過去3か月の売上データを取得するときに、毎日の売上を集計する必要があります。たとえば、以下に示すように、販売テーブルがある場合
mysql> select order_date,sale from sales; (showing only last few records) +---------------------+------+ | order_date | sale | +---------------------+------+ | 2020-01-28 09:30:35 | 23 | | 2020-01-28 10:10:00 | 30 | | 2020-01-28 11:00:15 | 20 | | 2020-01-28 14:50:35 | 15 | | 2020-01-28 15:30:36 | 25 | | 2020-01-28 17:10:55 | 15 | | ... | ... | +---------------------+------+
次に、毎日の売り上げを集計した後、過去3か月の売り上げデータを取得するためのクエリを示します
mysql>select date(order_date),sale from sales where order_date > now() - INTERVAL 3 MONTH group by date(order_date); (showing only last few records) +------------+------+ | order_date | sale | +------------+------+ | 2020-03-09 | 230 | | ... | ... | | 2020-05-29 | 300 | | 2020-05-30 | 250 | | 2020-05-31 | 250 | | 2020-06-01 | 250 | | 2020-06-02 | 150 | | 2020-06-03 | 300 | | 2020-06-04 | 200 | | 2020-06-05 | 200 | | 2020-06-06 | 250 | | 2020-06-07 | 150 | | 2020-06-08 | 300 | | 2020-06-09 | 200 | +------------+------+
Ubiqなどのグラフ作成ツールを使用して、この売上データを折れ線グラフにプロットできます。
次のクエリを使用して、各月のこの売上データを集計することもできます。 DATE_FORMATを使用して、日付値から月の名前を取得します。
mysql>select date_format(order_date,'%b'),sale from sales where order_date > now() - INTERVAL 3 MONTH group by date_format(order_date,'%b'); +------------+-------+ | order_date | sale | +------------+-------+ | Mar | 830 | | Apr | 10300 | | May | 12250 | | Jun | 1250 | +------------+-------+
次に示すように、Ubiqを使用して作成した棒グラフにプロットします。
それでおしまい!うまくいけば、あなたもあなたのビジネス/ウェブサイト/アプリのためにMySQLで過去3ヶ月の売上データを取得し、それをあなたのチームと共有することができます。
MySQLデータベースからチャート、ダッシュボード、レポートを作成したい場合は、Ubiqを試すことができます。 14日間の無料トライアルを提供しています。