月ごとの売上は、すべてのビジネスにとって、追跡するのに非常に役立つビジネスKPIメトリックです。マーケティングキャンペーンとイニシアチブが販売にどのように影響するかを理解し、販売の周期性とスポットの変動を特定するのに役立ちます。データがデータベースに保存されている場合は、SQLで月次売上レポートを簡単に計算できます。 MySQLで1か月あたりの総売上高を計算する方法は次のとおりです。これを使用して、MySQLで月ごとのデータを取得することもできます。
MySQLで1か月あたりの総売上高を計算するにはどうすればよいですか?
MySQLで1か月あたりの総売上高を計算する手順は次のとおりです。次のテーブルがあるとしますsales(order_date、sale) 売上データを保存します。
mysql>create table sales(order_date date,sale int); mysql>insert into sales(order_date,sale) values('2020-01-01',10),('2020-01-02',12),('2020-01-03',15), ('2020-01-04',11),('2020-01-05',13),('2020-01-06',9), ('2020-01-07',21),('2020-01-08',10),('2020-01-09',10), ('2020-01-10',2),('2020-01-11',16),('2020-01-12',12), ('2020-01-13',10),('2020-01-14',18),('2020-01-15',15), ('2020-01-16',12),('2020-01-17',10),('2020-01-18',18), ('2020-01-19',14),('2020-01-20',16),('2020-01-21',12), ('2020-01-22',21),('2020-01-23',13),('2020-01-24',15), ('2020-01-25',20),('2020-01-26',14),('2020-01-27',16), ('2020-01-28',15),('2020-01-29',10),('2020-01-30',18); mysql>select * from sales; +------------+------+ | order_date | sale | +------------+------+ | 2020-01-01 | 10 | | 2020-01-02 | 12 | | 2020-01-03 | 15 | | 2020-01-04 | 11 | | 2020-01-05 | 13 | | 2020-01-06 | 9 | | 2020-01-07 | 21 | | 2020-01-08 | 10 | | 2020-01-09 | 10 | | ... | ...| +------------+------+
MySQLで月次売上レポートを計算する
MySQLには、日付から月と年をそれぞれ計算できるMONTH関数とYEAR関数が用意されています。これらの2つの関数を使用して、MySQLの1か月あたりの総売上高を計算します。
mysql> select year(order_date),month(order_date),sum(sale) from sales group by year(order_date),month(order_date) order by year(order_date),month(order_date); +------------------+-------------------+-----------+ | year(order_date) | month(order_date) | sum(sale) | +------------------+-------------------+-----------+ | 2020 | 1 | 408 | | 2020 | 2 | 320 | | 2020 | 3 | 540 | | ... | ... | ... | +------------------+-------------------+-----------+
上記のクエリは、毎月の総売上高を合計するのに役立つSUM関数を使用しています。毎月の総売上高のみが必要な場合は、代わりにCOUNT関数を使用できます。
mysql> select year(order_date),month(order_date),count(sale) from sales group by year(order_date),month(order_date) order by year(order_date),month(order_date); +------------------+-------------------+-----------+ | year(order_date) | month(order_date) | sum(sale) | +------------------+-------------------+-----------+ | 2020 | 1 | 18 | | 2020 | 2 | 10 | | 2020 | 3 | 21 | | ... | ... | ... | +------------------+-------------------+-----------+
MySQLで1か月あたりの総売上高を計算するために使用されるデータをフィルタリングする場合は、以下の太字に示すように、WHERE句を使用してフィルタリングできます。
mysql> select year(order_date),month(order_date),sum(sale) from sales WHERE condition group by year(order_date),month(order_date) order by year(order_date),month(order_date);
同様に、MySQLで1週間あたりの平均売上と1日あたりの平均売上を計算することもできます。
テーブルsales(product、order_date、sale)に複数の製品の売上データがある場合は、GROUPBY句とORDERBY句を更新することで、各製品の月間売上を計算できます。
mysql> create table sales(product varchar(255),order_date date,sale int); mysql> insert into sales values('A','2020-01-01',20),('B','2020-01-02',25), ('B','2020-01-03',15),('A','2020-01-04',30),('A','2020-01-05',20); mysql> select * from sales; +---------+------------+------+ | product | order_date | sale | +---------+------------+------+ | A | 2020-01-01 | 20 | | B | 2020-01-02 | 25 | | B | 2020-01-03 | 15 | | A | 2020-01-04 | 30 | | A | 2020-01-05 | 20 | +---------+------------+------+ mysql> select product, year(order_date),month(order_date),sum(sale) from sales group by product, year(order_date),month(order_date) order by product, year(order_date),month(order_date); +---------+------------------+-------------------+-----------+ | product | year(order_date) | month(order_date) | sum(sale) | +---------+------------------+-------------------+-----------+ | A | 2020 | 1 | 70 | | B | 2020 | 1 | 40 | | ... | ... | ... | ... | +---------+------------------+-------------------+-----------+
MySQLで1か月あたりの総売上高を計算する方法がわかったので、要件に応じてカスタマイズできます。
ボーナスリード:MySQLで月ごとの成長率を計算する方法
月次売上データをグラフ化するために、以前のSQLクエリを少し変更して、年と月の数値を使用する代わりに、DATE_FORMAT関数を使用して月の名前を取得します
mysql> select date_format(order_date,'%M'),sum(sale) from sales group by year(order_date),month(order_date) order by year(order_date),month(order_date); +------------------------------+-----------+ | date_format(order_date,'%M') | sum(sale) | +------------------------------+-----------+ | January | 408 | | Febuary | 320 | | March | 540 | | ... | ... | +------------------------------+-----------+
MySQLで月間総売上高を計算した後、グラフ作成ツールを使用して棒グラフに月間売上高をプロットできます。これは、Ubiqを使用して作成された月間売上グラフの例です
ちなみに、MySQLデータベースから販売チャートとダッシュボードを作成したい場合は、Ubiqを試すことができます。 14日間の無料トライアルを提供しています。