利用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

相关文章

MySQL8.0设置redo缓存大小的实现

《MySQL8.0设置redo缓存大小的实现》本文主要在MySQL8.0.30及之后版本中使用innodb_redo_log_capacity参数在线更改redo缓存文件大小,下面就来介绍一下,具有一... mysql 8.0.30及之后版本可以使用innodb_redo_log_capacity参数来更改

Python调用Orator ORM进行数据库操作

《Python调用OratorORM进行数据库操作》OratorORM是一个功能丰富且灵活的PythonORM库,旨在简化数据库操作,它支持多种数据库并提供了简洁且直观的API,下面我们就... 目录Orator ORM 主要特点安装使用示例总结Orator ORM 是一个功能丰富且灵活的 python O

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

Springboot中分析SQL性能的两种方式详解

《Springboot中分析SQL性能的两种方式详解》文章介绍了SQL性能分析的两种方式:MyBatis-Plus性能分析插件和p6spy框架,MyBatis-Plus插件配置简单,适用于开发和测试环... 目录SQL性能分析的两种方式:功能介绍实现方式:实现步骤:SQL性能分析的两种方式:功能介绍记录

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

oracle DBMS_SQL.PARSE的使用方法和示例

《oracleDBMS_SQL.PARSE的使用方法和示例》DBMS_SQL是Oracle数据库中的一个强大包,用于动态构建和执行SQL语句,DBMS_SQL.PARSE过程解析SQL语句或PL/S... 目录语法示例注意事项DBMS_SQL 是 oracle 数据库中的一个强大包,它允许动态地构建和执行

如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解

《如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解》:本文主要介绍如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别的相关资料,描述了如何使用海康威视设备网络SD... 目录前言开发流程问题和解决方案dll库加载不到的问题老旧版本sdk不兼容的问题关键实现流程总结前言作为

SQL 中多表查询的常见连接方式详解

《SQL中多表查询的常见连接方式详解》本文介绍SQL中多表查询的常见连接方式,包括内连接(INNERJOIN)、左连接(LEFTJOIN)、右连接(RIGHTJOIN)、全外连接(FULLOUTER... 目录一、连接类型图表(ASCII 形式)二、前置代码(创建示例表)三、连接方式代码示例1. 内连接(I

SpringBoot中使用 ThreadLocal 进行多线程上下文管理及注意事项小结

《SpringBoot中使用ThreadLocal进行多线程上下文管理及注意事项小结》本文详细介绍了ThreadLocal的原理、使用场景和示例代码,并在SpringBoot中使用ThreadLo... 目录前言技术积累1.什么是 ThreadLocal2. ThreadLocal 的原理2.1 线程隔离2

在MySQL执行UPDATE语句时遇到的错误1175的解决方案

《在MySQL执行UPDATE语句时遇到的错误1175的解决方案》MySQL安全更新模式(SafeUpdateMode)限制了UPDATE和DELETE操作,要求使用WHERE子句时必须基于主键或索引... mysql 中遇到的 Error Code: 1175 是由于启用了 安全更新模式(Safe Upd