利用SQL进行BlackFriday销售数据分析(附PPT)

2023-10-21 08:59

本文主要是介绍利用SQL进行BlackFriday销售数据分析(附PPT),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

【数据来源】https://www.kaggle.com/mehdidag/black-friday/version/1
数据来源自kaggle平台的BlackFriday.csv文件,包含54万条记录,12个字段。

【字段说明】

  1. User_ID:用户编码,用户唯一标识
  2. Product_ID:产品编码,商品唯一标识
  3. Gender:性别(F表示女性,M表示男性)
  4. Age:年龄(分0-17、18-25、26-35、36-45、46-50、51-55、55+共7个年龄段)
  5. Occupation:职业(由0~20数字组成,分成20个类别)
  6. City_Category:城市类别(分A、B、C共3个类别)
  7. Stay_In_Current_City_Years:在当前城市停留的年份(分0、1、2、3、4+共5个类别)
  8. Marital_Status:婚姻状况(0表示未婚,1表示已婚)
  9. Product_Category_1:商品所属分类1(以数字为代号,不可为空)
  10. Product_Category_2:商品所属分类2(以数字为代号,可为空)
  11. Product_Category_3:商品所属分类3(以数字为代号,可为空)
  12. Purchase:消费金额(单位:美元)

【分析思路】

  1. “黑五”期间最销量最高的商品是什么?
  2. 销量最高的商品种类是什么?
  3. 不同城市销量的差异?
  4. 不同性别、年龄、职业群体的消费状况
  5. 利用PPT进行可视化展示

【分析过程】

  1. 将数据导入Navicat中(此步骤略)
    在这里插入图片描述

  2. 销量最高的商品TOP 10

SELECT product_id, count( * ) AS sales_volume, sum( purchase ) AS sale
FROM blackfriday
GROUP BY product_id
ORDER BY count( * ) DESC;
LIMIT 10;

在这里插入图片描述
在这里插入图片描述

  1. 销量最高的商品种类TOP10
SELECT concat('T',product_category_1), count( * ) AS sales_volume, sum( purchase ) AS sale
FROM blackfriday
GROUP BY product_category_1
ORDER BY count( * ) DESC;
LIMIT 10;

在这里插入图片描述在这里插入图片描述

SELECTconcat( 'T', Product_Category_1 ),a.cnt,concat( round( a.cnt / b.sum * 100, 2 ), '%' ) 
FROM( SELECT product_category_1, count( * ) AS cnt FROM blackfriday GROUP BY product_category_1 ORDER BY cnt DESC ) AS a,( SELECT count( * ) AS sum FROM blackfriday ) AS b;

在这里插入图片描述
在这里插入图片描述
4. 不同城市的销售情况

SELECT city_category, count( CASE WHEN gender = 'F' THEN 1 END ) AS f_buy, 
count( CASE WHEN gender = 'M' THEN 1 END ) AS m_buy, count( * ) AS buy
FROM blackfriday
GROUP BY city_category
ORDER BY count( * ) DESC;

在这里插入图片描述在这里插入图片描述

  1. 男女分别的购买量
SELECT gender, count( * ) AS sales_volume
FROM blackfriday 
GROUP BY
gender;

在这里插入图片描述在这里插入图片描述

  1. 男性中的热销商品
SELECT CONCAT('T',product_category_1), count( * ) AS sales_volume
FROM blackfriday
WHERE gender = 'M'
GROUP BY product_category_1
ORDER BY count( * ) DESC;
LIMIT 4;

在这里插入图片描述在这里插入图片描述

  1. 女性中的热销商品
SELECT CONCAT('T',product_category_1), count( * ) AS sales_volume
FROM blackfriday
WHERE gender = 'F'
GROUP BY product_category_1
ORDER BY count( * ) DESC;

在这里插入图片描述在这里插入图片描述

  1. 不同职业的消费情况
SELECT concat('J',occupation), sum( purchase ) AS buy
FROM blackfriday
GROUP BY occupation
ORDER BY sum( purchase ) DESC
LIMIT 10;

在这里插入图片描述在这里插入图片描述

  1. 不同年龄段的购买力
SELECT age,
sum( CASE WHEN gender = 'M' THEN purchase END ) AS buy_m,
sum( CASE WHEN gender = 'F' THEN purchase END ) AS buy_f
FROM blackfriday
GROUP BY age
ORDER BY age;

在这里插入图片描述在这里插入图片描述

  1. 结论
    在这里插入图片描述

这篇关于利用SQL进行BlackFriday销售数据分析(附PPT)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/253346

相关文章

python安装完成后可以进行的后续步骤和注意事项小结

《python安装完成后可以进行的后续步骤和注意事项小结》本文详细介绍了安装Python3后的后续步骤,包括验证安装、配置环境、安装包、创建和运行脚本,以及使用虚拟环境,还强调了注意事项,如系统更新、... 目录验证安装配置环境(可选)安装python包创建和运行Python脚本虚拟环境(可选)注意事项安装

Mysql8.0修改配置文件my.ini的坑及解决

《Mysql8.0修改配置文件my.ini的坑及解决》使用记事本直接编辑my.ini文件保存后,可能会导致MySQL无法启动,因为MySQL会以ANSI编码读取该文件,解决方法是使用Notepad++... 目录Myhttp://www.chinasem.cnsql8.0修改配置文件my.ini的坑出现的问题

MySQL8.0找不到my.ini如何解决

《MySQL8.0找不到my.ini如何解决》在配置MySQL主从复制时,发现找不到my.ini配置文件,通过检查路径和打开隐藏文件夹,最终在C:ProgramDataMySQLMySQLSer... 目录问题描述解决方法总结问题描述今天在配置mysql主从复制的时候发现,找不到my.ini这个配置文件。

MySQL中my.ini文件的基础配置和优化配置方式

《MySQL中my.ini文件的基础配置和优化配置方式》文章讨论了数据库异步同步的优化思路,包括三个主要方面:幂等性、时序和延迟,作者还分享了MySQL配置文件的优化经验,并鼓励读者提供支持... 目录mysql my.ini文件的配置和优化配置优化思路MySQL配置文件优化总结MySQL my.ini文件

MySQL中删除重复数据SQL的三种写法

《MySQL中删除重复数据SQL的三种写法》:本文主要介绍MySQL中删除重复数据SQL的三种写法,文中通过代码示例讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下... 目录方法一:使用 left join + 子查询删除重复数据(推荐)方法二:创建临时表(需分多步执行,逻辑清晰,但会

如何使用celery进行异步处理和定时任务(django)

《如何使用celery进行异步处理和定时任务(django)》文章介绍了Celery的基本概念、安装方法、如何使用Celery进行异步任务处理以及如何设置定时任务,通过Celery,可以在Web应用中... 目录一、celery的作用二、安装celery三、使用celery 异步执行任务四、使用celery

Mysql 中的多表连接和连接类型详解

《Mysql中的多表连接和连接类型详解》这篇文章详细介绍了MySQL中的多表连接及其各种类型,包括内连接、左连接、右连接、全外连接、自连接和交叉连接,通过这些连接方式,可以将分散在不同表中的相关数据... 目录什么是多表连接?1. 内连接(INNER JOIN)2. 左连接(LEFT JOIN 或 LEFT

SpringBoot使用minio进行文件管理的流程步骤

《SpringBoot使用minio进行文件管理的流程步骤》MinIO是一个高性能的对象存储系统,兼容AmazonS3API,该软件设计用于处理非结构化数据,如图片、视频、日志文件以及备份数据等,本文... 目录一、拉取minio镜像二、创建配置文件和上传文件的目录三、启动容器四、浏览器登录 minio五、

mysql重置root密码的完整步骤(适用于5.7和8.0)

《mysql重置root密码的完整步骤(适用于5.7和8.0)》:本文主要介绍mysql重置root密码的完整步骤,文中描述了如何停止MySQL服务、以管理员身份打开命令行、替换配置文件路径、修改... 目录第一步:先停止mysql服务,一定要停止!方式一:通过命令行关闭mysql服务方式二:通过服务项关闭

SQL Server数据库磁盘满了的解决办法

《SQLServer数据库磁盘满了的解决办法》系统再正常运行,我还在操作中,突然发现接口报错,后续所有接口都报错了,一查日志发现说是数据库磁盘满了,所以本文记录了SQLServer数据库磁盘满了的解... 目录问题解决方法删除数据库日志设置数据库日志大小问题今http://www.chinasem.cn天发