月ごとの売上は、すべてのビジネスにとって、追跡するのに非常に役立つビジネス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日間の無料トライアルを提供しています。