📜  如何在 SQL 中按月比较产品销售额?

📅  最后修改于: 2022-05-13 01:55:36.689000             🧑  作者: Mango

如何在 SQL 中按月比较产品销售额?

月度销售报告代表公司每月的销售活动状态。它可以帮助销售团队朝着正确的方向前进。无论您是销售主管还是经理,指标对于您公司的成功都非常重要。如果您的数据存储在数据库中,您可以使用 SQL 计算月度销售报告。在本文中,我们将了解如何在 SQL 中计算月销售额。

1. GROUP BY 条款

2.聚合函数

让我们首先创建我们的演示数据库。

第一步:创建数据库

创建一个名为Product_details的新数据库,然后使用它。

询问:

CREATE DATABASE Product_details; USE Product_details;

输出:

第 2 步:定义表

创建一个名为 Products 的表并添加这两列 Order_date 和 Sales。

询问:

CREATE Table Products ( Order_date date, Sales int); 

输出:

第 3 步:将行插入表中并将这些行插入表中。

询问:

INSERT INTO Products(Order_date,Sales)    
VALUES('2021-01-01',20),('2021-03-02',32),('2021-02-03',45), 
('2021-01-04',31),('2021-03-05',33),('2021-01-06',19),
('2021-04-07',21),('2021-03-08',10),('2021-02-09',40), 
('2021-03-10',20),('2021-03-11',26),('2021-04-12',22),      
('2021-04-13',10),('2021-01-14',28),('2021-03-15',15), 
('2021-01-16',12),('2021-04-17',10),('2021-02-18',18),  
('2021-04-19',14),('2021-01-20',16),('2021-02-21',12),
('2021-03-22',51),('2021-02-23',13),('2021-03-24',15),
('2021-02-25',30),('2021-03-26',14),('2021-04-27',16), 
('2021-02-28',15),('2021-01-29',20),('2021-01-30',18); 

输出:

第 4 步:查看插入的数据

询问:

SELECT * FROM Products; 

输出:

第 5 步:现在,让我们查询按月比较产品销售额。

SQL Server 提供了 MONTH 和 YEAR 函数,允许我们从给定日期分别找出月份和年份。我们将使用这两个函数,GROUP BY函数和 SUM函数来计算总销售额。

询问:

SELECT YEAR(Order_date) AS Year, 
MONTH(Order_date) AS Month,SUM(Sales) 
AS Total_Sales FROM Products   
GROUP BY YEAR(Order_date), MONTH(Order_date) ; 

在这里,我们只是使用GROUP BY子句对月份和年份进行分组,然后使用SUM聚合函数获得总销售额。

输出:

在上面的查询中,我们使用了 SUM 函数来计算每个月的总销售额。您还可以找出每个月的总销售额。为此,将 SUM函数替换为COUNT函数。

询问:

SELECT YEAR(Order_date) AS Year,MONTH(Order_date) 
AS Month,COUNT(Sales) AS Count_Of_Sales     
FROM Products GROUP BY YEAR(Order_date),MONTH(Order_date); 

输出:

询问:

SELECT YEAR(Order_date) AS Year, DATENAME(MONTH, Order_date) 
 AS Month, COUNT(Sales) AS Count_Of_Sales FROM Products 
 GROUP BY YEAR(Order_date), DATENAME(MONTH, Order_date); 

输出:

DATENAME()函数返回日期的特定部分。在这里,我们使用它来返回 Order_date字符串的 MONTH 部分。

我们可以使用ORDER BY子句以降序显示这些数据。

询问:

SELECT YEAR(Order_date) AS Year, DATENAME(MONTH, Order_date) 
AS Month, COUNT(Sales) AS Count_Of_Sales FROM Products GROUP
BY YEAR(Order_date), DATENAME(MONTH, Order_date) ORDER 
BY Count_Of_Sales DESC; 

输出:

从这份数据报告中,我们可以很容易地看出,3月份的销售数量是最高的。

现在,您可能想要计算不同年份的月销售额。为此,您根本不需要更改任何内容,查询将保持完全相同。您还可以通过使用WHERE子句过滤掉一些数据或其他聚合函数来做一些实验。