以上SQL语句的结果集可以直接用各种统计软件进行图表展示,例如Excel、PowerBI、Tableau等,也可以利用Python的数据可视化库,如matplotlib、seaborn进行展示。在这里,我们选用Python中的matplotlib库对统计结果进行了可视化展示。图1:每月商品销售额  NOT NULL AUTO_INCREMENT,
`name` varchar(100) NOT NULL,
`desc` varchar(255) DEFAULT NULL,
`price` decimal(10,2) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1.2 订单表
CREATE TABLE `orders` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`order_no` varchar(50) NOT NULL,
`user_id` int(11) NOT NULL,
`total_amount` decimal(10,2) NOT NULL,
`create_time` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
1.3 订单明细表
CREATE TABLE `order_items` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`order_id` int(11) NOT NULL,
`goods_id` int(11) NOT NULL,
`goods_name` varchar(100) NOT NULL,
`goods_price` decimal(10,2) NOT NULL,
`quantity` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2. 数据统计SQL语句
在MySQL中,使用SQL语句可以方便地进行数据统计分析。以下是具体的查询语句:
2.1 每月商品销售额
SELECT DATE_FORMAT(create_time,’%Y-%m’), SUM(total_amount)
FROM orders
WHERE create_time >= DATE_ADD(NOW(), INTERVAL -7 DAY)
GROUP BY DATE_FORMAT(create_time,’%Y-%m’);
其中,DATE_FORMAT()函数用于格式化日期,DATE_ADD()函数用于获取以当前时间为基准的近七天日期范围内的销售数据。
2.2 每月用户购买商品数量
SELECT DATE_FORMAT(create_time,’%Y-%m’), COUNT(DISTINCT user_id), SUM(quantity)
FROM orders o
JOIN order_items oi ON o.id=oi.order_id
WHERE create_time >= DATE_ADD(NOW(), INTERVAL -7 DAY)
GROUP BY DATE_FORMAT(create_time,’%Y-%m’);
在该SQL语句中,使用了JOIN语句连接订单表和订单明细表,统计每个月用户购买商品数量的同时也统计用户数量。
2.3 每个商品累计销售量
SELECT oi.goods_id, g.name, SUM(quantity)
FROM order_items oi
JOIN goods g ON oi.goods_id=g.id
GROUP BY oi.goods_id, g.name;
在这个SQL语句中,使用JOIN语句连接订单明细表和商品表,统计每个商品的累计销售量。
3. 数据可视化
以上SQL语句的结果集可以直接用各种统计软件进行图表展示,例如Excel、PowerBI、Tableau等,也可以利用Python的数据可视化库,如matplotlib、seaborn进行展示。在这里,我们选用Python中的matplotlib库对统计结果进行了可视化展示。
图1:每月商品销售额

图2:每月用户购买商品数量

图3:每个商品累计销售量

通过以上SQL语句和数据可视化,可以清晰直观地了解企业的销售状况,帮助企业制定出更加精准有效的经营策略。
综上所述,MySQL是一款功能强大的关系型数据库,它在数据存储和管理方面有着非常良好的表现。通过以上的数据表设计和SQL语句的应用,可以对销售数据进行高效准确的统计,并通过数据可视化的方式直观地呈现出来,以提高企业的数据分析能力和应对市场变化的能力。2024-08-12