如何在 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子句过滤掉一些数据或其他聚合函数来做一些实验。