数据分析
天山下小花家
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
根据商品大类对商品按金额从小到大排序 -- SQL面试题
需求:根据商品大类对商品按金额从小到大排序,前30%为低档,30% 80%为中档,高于80%为高档,打上标签数据:商品大类 商品名称 商品金额 商品档次标签手机 华为mate 2999手机 苹果iPhoneX 699手机 vivo NEX 3000手机 诺基亚7920 583食品 蛋黄酥 10食品 吐司切片蛋糕 32食品 丹麦手撕糕点美食 19.9思路:1、先分组后降序,并利用窗口函数组内排序2、新建一张表取出每个组最大排序值3、与产品表左连接后,通过排序值与最大值来计算排序占比原创 2021-03-17 23:14:11 · 1537 阅读 · 0 评论 -
用户单次在线最长时间 -SQL面试题
思路:正常情况下,用户登陆、退出时间是挨着的1、根据用户id分组后时间降序排列2、用窗口函数 lead()over()将时间向上平移3、计算时间与平移后的时间差4、用户分组后,计数后取出最大值/*INSERT into log_time values('A',0,'2019-01-01 12:25:30'),('A',1,'2019-01-01 15:25:30'),('A',0,'2019-01-03 10:25:30'),('B',0,'2019-01-02 12:25:30').原创 2021-03-17 23:07:39 · 550 阅读 · 0 评论 -
用户3年内不同级别违法次数 -- SQL面试题
思路:三年内应该是指用户取得驾照后的3年内,不同年份不同违法次数的分布。第一步,按用户分组,违法时间降序排列;第二步,违法表与用户信息表关联第三步,计算违法时间与取证时间之间的差值第四步,筛选出时间差小于等于3年的,分组后,计数/*insert into `用户表`VALUES(10023,'2015-04-21');insert into `违法表`VALUES(10023,'一级','2017-04-21 14:20:20'),(10023,'二级','2016-04-21.原创 2021-03-17 23:01:35 · 385 阅读 · 0 评论 -
取部门工资前三高的所有员工 -- sql 面试(三)
取部门工资前三高的所有员工两种思路:1、对于这种分组内取前几名的问题,可以先group by然后用having count()来筛选,比如这题,找每个部门的工资前三名,那么先在子查询中用Employee和自己做连接,连接条件是【部门相同但是工资比我高】,那么接下来按照having count(Salary) <= 2来筛选的原理是:如果【跟我一个部门而且工资比我高的人数】不超过2个,那么我一定是部门工资前三,这样内层查询可以查询出所有符合要求的员工ID,接下来外层查询就简单了。select d原创 2021-03-04 12:26:38 · 911 阅读 · 1 评论 -
每日新老客户数统计--sql 常见面试题(二)
按购买时间统计出每天的新客人数和老客人数名词定义如下:新客:当天有购买,且之前没有购买的人为新客,新客人数+1老客:当天有购买,且之前也有购买的人为老客,老客人数+11)每个用户最近一次购买日期SELECT cust_id,create_at FROM( SELECT *, ROW_NUMBER() OVER (PARTITION BY custid ORDER BY created_at DESC) RowIndex FROM 订单表) BWHERE原创 2021-03-01 16:47:50 · 5016 阅读 · 0 评论 -
SQL 行列转置 -- 常见面试题(一)
常见面试题如下:先来分析一下:第一步将course 里面的课程转换为列标题,常用 case when 就能解决。SELECT `学号`, max((case when `课程号`='0001' then `成绩` end )) as '语文', max((case when `课程号`='0002' then `成绩` end )) as '数学', max((case when `课程号`='0003' then `成绩` end原创 2021-03-01 11:43:52 · 330 阅读 · 0 评论 -
通过面试题复盘sql初阶及高阶知识
标题一、数据获取–增删改查1、创建表// 课程表 --主表create table subject(id int not null,subject varchar(200));//学生表-- 从表create table student(id int not null identity(1,1) primary key,//主键自增长 auto_increment/identity(1,1)name char(20) not null,sex char(20) not null de原创 2021-02-28 18:49:02 · 428 阅读 · 1 评论 -
pandas 常用命令集合
一、读取文件1、读取csv、txt 格式时:sep为分隔2符,默认为逗号,如果读取的数据分割的不正常,可能是分隔符的问题,换成正确的分隔符就行。encoding 是编码,有的时候用的是其他编码,如果要正确显示不出现乱码,加上会减少很多意外。engine 是读取的机器,不加这个字段,有时候无法正确读取数据。path1 = r'C:\Users\MAYAN\Downloads\人工对话详情8.1.csv'data1 = pd.read_csv(path1,sep=',',encoding='utf-原创 2020-10-06 15:30:22 · 606 阅读 · 0 评论 -
互联网金融数据分析指标【汇总】
互联网金融是指借助于互联网技术、移动通信技术实现资金融通、支付和信息中介等业务的新兴金融模式,既不同于商业银行间接融资,也不同于资本市场直接融资的融资模式。互联网金融包括三种基本的企业组织形式:网络小贷公司、第三方支付公司以及金融中介公司。互联网金融的业务类型主要分两类:资金类和资产类。资金类主要包括理财类和吸储类,核心模块:用户转化,用户留存,用户复投等,侧重运营,主要目的是让用户投资。资产...原创 2020-03-18 23:11:03 · 10015 阅读 · 0 评论 -
机器学习 -- 信用卡评分模型 -- 互联网金融风控
互联网金融主要分为资金类和资产类。资金类主要是理财产品,吸储,主要指标是用户转化、留存和复投,重在客户运营。资产类主要是贷款,包括消费金融和现金贷,小额贷款属于此类,主要目的是用户转化,还款和风险控制,信用卡评分模型就属于风险控制。信用评分作用是对贷款申请人(信用卡申请人)做风险评估分值的方法。 信用卡评分是以大量数据的统计结果为基础,根据客户提供的资料和历史数据对客户的信用进行评估,评分卡模型...原创 2020-03-18 16:09:07 · 2332 阅读 · 0 评论 -
数据分析 -- 共享汽车运行 案例 (sql 分组后组内运算)
最近接触到一些交通行业的数据,用来练手主要就解决计算以下几个指标:1、接单率2、订单完成率3、接单平均时长4、第二天继续呼叫的比例原始数据及字段如下:一、用sql 实现以下计算1、接单率、订单完成率SELECT sum(case when grab_time = '1971-01-01 00:00:00' then 0 ELSE 1 END)/count(*) as 接单率,...原创 2020-02-20 09:20:30 · 1101 阅读 · 0 评论 -
mysql 、python 时间字符串之间转化
一、mysqlSELECT NOW(); #显示当前日期+时间 2020-02-16 22:10:36 SELECT date(now());#显示当前日期 2020-02-16SELECT date('2018-1-1');SELECT CURRENT_DATE();#显示当前日期2020-02-16SELECT CURRENT_time();#显示当前时间22:10:36 SE...原创 2020-02-16 23:07:45 · 2400 阅读 · 0 评论 -
数据分析 -- 成都天气分析(2011-2019)
1 数据获取import requestsfrom lxml import etreeimport jsonimport timeclass ChengduClimate: def __init__(self): self.headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/...原创 2020-01-31 01:07:15 · 1364 阅读 · 0 评论
分享