数据分析 - sql 业务相关练习题
数据库

userinfo , orderinfo 表
两个 userId 彼此对应
题目

解题
不同月份的下单人数

用户在同一个月份会下多个单,这里进行去重
未支付的脏数据去除
统计用户三月份的回购率和复购率
复购率 - 一个月内重复购买的人数占比

先将所有 3月份购买超过一次的进行统计,然后在和全部数据比对
回购率 - 下个月又重复购买的人数占比
回购率可以使用计算出4月份购买的人数, 然后再用3月份的 in 判断是否再 4月份进行操作
这样操作较为繁琐人工,可以试图用更好用的方式

使用连表之后判断延后一个月进行统计,
统计男女用户的消费频次是否有差异

第一步先把性别为空的脏数据清除
然后连表将订单和用户信息链接, 然后统计每一个用户分别是男女消费了多少订单
然后统合统计总量按照性别分组计算平均消费笔数, 可见男女差异不大
统计多次消费用户, 第一次和最后一次的间隔多少

分组后的数据自然会有最大最小, 直接取出来然后时间插值计算即可,
可以再封装一次来计算平均频率等等操作分析
统计不同年龄段, 用户消费金额是否有差异

先去除部分脏数据,把年龄过筛一下, 默认值很多是按照 1901年计算, 从那个时间点往后卡
年龄的计算直接按照当前时间来减去即可
区分年龄段的方式可以使用 case when 或者直接这样除以然后配合 ceil 向上取整
计算出来年龄端相关的数据之后再统合按照年龄端分组进行分析
可以看出年龄对消费金额还是有影响的, 当然70岁以上的数据肯定还是有脏数据
统计消费28法则, 消费 top20%用户, 贡献多少额度

用比较讨巧的方法, 先算出总和的金额以及总和的人数
然后记住这两个数字
之后使用 limit 提取出排序后的 前 20% 的人在计算总金额,
然后和之前算出来的所有人的总金额比对即可得出比例再 85%左右

ps
mysql 里面是没有 row_number 这样的支持分组排名的函数的 , 因此只能这样较为麻烦的操作
数据分析 - sql 业务相关练习题的更多相关文章
- SQL Server相关书籍
SQL Server相关书籍 (排名不分先后) Microsoft SQL Server 企业级平台管理实践 SQL Server 2008数据库技术内幕 SQL Server性能调优实战 SQL S ...
- atitit.短信 验证码 破解 v3 p34 识别 绕过 系统方案规划----业务相关方案 手机验证码 .doc
atitit.短信 验证码 破解 v3 p34 识别 绕过 系统方案规划----业务相关方案 手机验证码 .doc 1. 手机短信验证码 vs 图片验证码 安全性(破解成本)确实要高一些1 1 ...
- [20190329]探究sql语句相关mutexes补充2.txt
[20190329]探究sql语句相关mutexes补充2.txt --//昨天测试sql语句相关mutexes,看看如果出现多个子光标的情况. 1.环境:SCOTT@book> @ ver1P ...
- [20190328]简单探究sql语句相关mutexes.txt
[20190328]简单探究sql语句相关mutexes.txt --//摘要:http://www.askmaclean.com/archives/understanding-oracle-mute ...
- 捷信达会员管理系统SQL语句相关
捷信达会员管理系统SQL语句相关 USE gshis GO SET ANSI_NULLS, QUOTED_IDENTIFIER ON GO /***************************** ...
- sql与SQL CODE和SQL State相关报错
操作数据库过程中,遇到许多问题,很多都与SQL CODE和SQL State相关,现在把一个完整的SQLCODE和SQLState错误信息和相关解释作以下说明,一来可以自己参考,对DB2错误自行找出原 ...
- SQL业务审核与优化
审核 什么是业务审核 类似与code review 评审业务Schema和SQL设计 偏重关注性能 是业务优化的主要入口之一 审核提前发现问题,进行优化 上 ...
- mybatis 动态sql表达式相关应用
一.mybatis 表达式简介 对于mybatis3 ,提供了一种动态sql的方式.通过动态sql我们可以直接在mybatis 的xm映射文件中直接通过条件判断的方式进行查询添加的拼接.mybatis ...
- SQL注入相关的知识【Mysql为例子】
以DVWA的sql注入初级为例,结合网上搜索的相关利用方式,总结成这一篇文章,内容会有点跳跃. 大纲: 1.初级手工注入 2.order by的使用 3.union查询注意点 4.Mysql相关的注释 ...
随机推荐
- 【Hibernate】入门
一.Hibernate框架的概述 1.1 什么是Hibernate 1.2 Hibernate优点 二.Hibernate的日志记录 三.Hibernate 入门程序 3.1 引入依赖(5.x版本) ...
- JAVA处理数字与中文数字互转(最大处理数字不超过万兆即:9999999999999999.9999)
package practice; import java.util.Arrays; /** * 数字与中文数字互转(最大处理数字不超过万兆即:9999999999999999.9999) * @au ...
- Image Processing and Analysis_21_Scale Space:Edge Detection and Ridge Detection with Automatic Scale Selection——1998
此主要讨论图像处理与分析.虽然计算机视觉部分的有些内容比如特 征提取等也可以归结到图像分析中来,但鉴于它们与计算机视觉的紧密联系,以 及它们的出处,没有把它们纳入到图像处理与分析中来.同样,这里面也有 ...
- redis目录
一.redis基础 二.django-redis 三.redis数据操作详解 四.redis持久化
- STM32 ID (转)
STM32唯一ID(Unique Device ID)的读取方法 (转) 每一个STM32微控制器都自带一个96位的唯一ID,也就是Unique Device ID或称为UID,这个唯一ID在任何 ...
- idou老师教你学Istio :5分钟简析Istio异常检测
异常检测 异常检测和踢出异常主机是一个动态检查上游主机是否正常工作,对不健康主机进行移除的过程.异常检测是一种被动健康检查,根据返回状态码来判断是否满足移除条件,最后将主机移除,首先我们来了解下驱逐算 ...
- toolbox 中创建nginx服务器,使用localhost不能访问
使用toolbox 工具使用docker创建nginx 容器,使用localhost不能访问? 使用docker run --rm -d --name dweb -p 80:80 nginx 命令执 ...
- JAVA连接Derby数据库
其实,JAVA连接Derby数据库也很简单,和一般的数据库操作一样:1.加载驱动2.获取连接3.进行数据库操作4.记得关闭连接 示例如下: import java.sql.ResultSet; imp ...
- [转载]深入理解Java垃圾回收机制
深入理解Java垃圾回收机制 2016-07-28 20:07:49 湖冰2019 阅读数 14607更多 分类专栏: JAVA基础 原文:http://www.linuxidc.com/Linu ...
- Linux-删除文件空间不释放问题解决
场景描述: 收到zabbix监控报警,晋中生产机器出现磁盘空间不足报警. 远程到该服务器,排查占员工磁盘空间的原因,发现tomcat日志过多,于是清除3天前的日志. 日志清理后,发现磁盘空间没有释放, ...