- 博客(73)
- 收藏
- 关注
原创 数据分析SQL问题整理
1.窗口函数解决问题:组内排名(如全校初三同学英语成绩按照班级排名,如100分、99分、99分、98分)基本语法:<窗口函数> over (partition by <用于分组的列名> order by <用于排序的列名>) as new_col窗口函数类型row number: 班级成绩排序生成连续无重复序列号。1,2,3,4,…ran...
2020-05-05 19:50:38 415
原创 数据分析面试业务问题整理
1. 指标体系类问题1.1业务指标体系常见问法:假如你是xx产品分析师,你会从哪些维度建立指标体系?回答思路逻辑第一,业务第二。逻辑:语言表述具有结构性(金字塔原理)。业务:参考人人都是产品经理,精益数据分析业务特征回答模板:基础+附加基础:用户+商业变现附加:产品具体特征(准备方向:电商、内容、游戏、风控)细分业务模块指标表达有清晰逻辑线用户行为逻辑:判...
2020-05-05 12:36:30 3583
原创 Mac 配置anaconda环境变量记录
全局变量在整个系统中启动anaconda启动台-搜索(终端)echo ‘export PATH=/opt/anaconda3/bin:$PATH"’>>~/.zshrc #zsh/opt/anaconda3/bin 是anaconda安装路径下的bin目录~/.zshrc #zsh 是添加到环境变量中source ~/.zshrc #zsh 使变量生效用户变量...
2020-05-01 23:50:27 2735
原创 Leetcode_1159. 市场分析 II
题目难度困难题目描述写一个 SQL 查询确定每一个用户按日期顺序卖出的第二件商品的品牌是否是他们最喜爱的品牌。如果一个用户卖出少于两件商品,查询的结果是 no 。题目保证没有一个用户在一天中卖出超过一件商品。正确答案leetcode中mysql无法使用窗口函数,所以在oracle环境下编译代码select t1.user_id as "seller_id", case ...
2020-03-28 19:49:23 446
原创 Leetcode_1132. 报告的记录 II
题目难度中等题目描述编写一段 SQL 来查找:在被报告为垃圾广告的帖子中,被移除的帖子的每日平均占比,四舍五入到小数点后 2 位。2019-07-04 的垃圾广告移除率是 50%,因为有两张帖子被报告为垃圾广告,但只有一个得到移除。2019-07-02 的垃圾广告移除率是 100%,因为有一张帖子被举报为垃圾广告并得到移除。其余几天没有收到垃圾广告的举报,因此平均值为:(50 + ...
2020-03-28 16:05:21 325
原创 数据分析面试统计问题整理
面试题持续更新:https://zhuanlan.zhihu.com/p/67650146什么是PCA,为什么PCA要中心化?PCA通常是用于高维数据的降维,它可以将原来高维的数据投影到某个低维的空间上并使得其方差尽量大。什么是TF-IDF?腾讯https://www.nowcoder.com/discuss/379326?type=2&order=0&pos=2&...
2020-03-28 14:42:17 1374
原创 Leetcode_1127. 用户购买平台
题目难度困难题目描述写一段 SQL 来查找每天 仅 使用手机端用户、仅 使用桌面端用户和 同时 使用桌面端和手机端的用户人数和总支出金额。在 2019-07-01, 用户1 同时 使用桌面端和手机端购买, 用户2 仅 使用了手机端购买,而用户3 仅 使用了桌面端购买。在 2019-07-02, 用户2 仅 使用了手机端购买, 用户3 仅 使用了桌面端购买,且没有用户 同时 使用桌面端...
2020-03-28 11:54:52 675 6
原创 Leetcode_1126. 查询活跃业务
题目难度中等题目描述写一段 SQL 来查询所有活跃的业务。如果一个业务的某个事件类型的发生次数大于此事件类型在所有业务中的平均发生次数,并且该业务至少有两个这样的事件类型,那么该业务就可被看做是活跃业务。查询结果格式如下所示:‘reviews’、 ‘ads’ 和 ‘page views’ 的总平均发生次数分别是 (7+3)/2=5, (11+7+6)/3=8, (3+12)/2=7....
2020-03-27 23:34:02 329
原创 Leetcode_1112. 每位学生的最高成绩
题目难度中等题目描述编写一个 SQL 查询,查询每位学生获得的最高成绩和它所对应的科目,若科目成绩并列,取 course_id 最小的一门。查询结果需按 student_id 增序进行排序。正确答案select student_id,course_id,gradefrom (select *, row_number() over(partition by student_id ...
2020-03-27 22:48:05 445
原创 Leetcode_1107. 每日新用户统计
题目难度中等题目描述编写一个 SQL 查询,以查询从今天起最多 90 天内,每个日期该日期首次登录的用户数。假设今天是 2019-06-30.正确答案select activity_date as login_date, count(user_id) as user_countfrom (select user_id,min(activity_date) as acti...
2020-03-27 22:36:05 464
原创 Leetcode_1098. 小众书籍
题目难度中等题目描述你需要写一段 SQL 命令,筛选出过去一年中订单总量 少于10本 的 书籍 。注意:不考虑 上架(available from)距今 不满一个月 的书籍。并且 假设今天是 2019-06-23 。select b.book_id,namefrom Books bleft join Orders oon b.book_id=o.book_idwhere t...
2020-03-27 12:30:33 385
原创 行测问题-图形推理
思考角度考点位置类移动、旋转、翻转相对位置:相邻相对;独立覆盖;内外;上下;左右数量类点:十字交叉;T字交叉;切点;交点线:线条数;笔画数;角:直角、钝角、锐角数量面:封闭区域、面积、连接方式结构类对称、中心对称曲直性封闭性叠加类叠加后转化成新图形;叠加后取部分推理思路共同特征连续变化...
2020-03-21 15:22:10 392
原创 Leetcode_1097. 游戏玩法分析 V
题目描述们将玩家的安装日期定义为该玩家的第一个登录日。我们还将某个日期 X 的第 1 天保留时间定义为安装日期为 X 的玩家的数量,他们在 X 之后的一天重新登录,除以安装日期为 X 的玩家的数量,四舍五入到小数点后两位。编写一个 SQL 查询,报告每个安装日期、当天安装游戏的玩家数量和第一天的保留时间。查询结果格式如下所示:玩家 1 和 3 在 2016-03-01 安装了游戏,但只...
2020-03-19 14:29:53 483
原创 Leetcode_1083_1084. 销售分析 II
having+sum(判断条件)作为筛选手段,便捷易懂。题目描述编写一个 SQL 查询,查询购买了 S8 手机却没有购买 iPhone 的买家。注意这里 S8 和 iPhone 是 Product 表中的产品。正确答案select s.buyer_idfrom Sales s, Product pwhere s.product_id=p.product_idgroup by ...
2020-03-19 13:22:24 306
原创 Leetcode_1076_1077项目员工
题目描述编写一个SQL查询,报告所有雇员最多的项目。正确答案select project_idfrom Projectgroup by project_idhaving count(distinct employee_id)>= all(select count(distinct employee_id) from Project group by project...
2020-03-19 12:40:20 344
原创 Leetcode_1070. 产品销售分析 III
题目描述编写一个 SQL 查询,选出每个销售产品的 第一年 的 产品 id、年份、数量 和 价格正确答案select product_id,first_year,quantity,pricefrom(select product_id,year as first_year,quantity,price, dense_rank() over (partition by prod...
2020-03-18 11:42:59 367
原创 Leetcode_1045.买下所有产品的客户
题目难度中等题目描述写一条 SQL 查询语句,从 Customer 表中查询购买了 Product 表中所有产品的客户的 id。正确答案select customer_idfrom Customer group by customer_idhaving count(distinct product_key)=(select count(distinct product_ke...
2020-03-18 11:06:23 304
原创 Python数据结构实现_排序算法
排序算法(英语:Sorting algorithm)是一种能将一串数据依照特定顺序进行排列的一种算法。冒泡排序思想:从头开始,每次比较相邻两个元素的大小,将大的放在后面。每轮会将未排序的元素中的最大值放在右侧。def bubble_sort(alist): '冒泡排序' n = len(alist) for j in range(n, 1, -1): ...
2020-03-17 21:17:49 152
原创 Python数据结构实现_栈、队列
栈:先进后出class Stack(object): """栈""" def __init__(self): self.__items = [] def is_empty(self): return self.__items == [] def push(self,item): self.__items.append(item) def po...
2020-03-17 14:00:44 116
原创 Python数据结构实现-链表
算法的五大特性输入: 算法具有0个或多个输入输出: 算法至少有1个或多个输出有穷性: 算法在有限的步骤之后会自动结束而不会无限循环,并且每一个步骤可以在可接受的时间内完成确定性:算法中的每一步都有确定的含义,不会出现二义性可行性:算法的每一步都是可行的,也就是说每一步都能常见时间复杂度O(1) < O(logn) < O(n) < O(nlogn) <...
2020-03-17 13:34:04 181
原创 Leetcode_626. 换座位
题目描述有一张 seat 座位表,用来储存学生名字和与他们相对应的座位 id。纵列的 id 是连续递增的想改变相邻俩学生的座位。正确答案select (case when id % 2=1 and id=(select count(1) from seat) then id when id % 2=1 then id+1 else id-1 ...
2020-03-14 11:59:54 151
原创 Leetcode_618.学生地理信息报告
题目描述一所美国大学有来自亚洲、欧洲和美洲的学生,他们的地理信息存放在如下 student 表中写一个查询语句实现对大洲(continent)列的 透视表 操作,使得每个学生按照姓名的字母顺序依次排列在对应的大洲下面。输出的标题应依次为美洲(America)、亚洲(Asia)和欧洲(Europe)。数据保证来自美洲的学生不少于来自亚洲或者欧洲的学生。输出正确答案select M...
2020-03-14 11:11:52 340
转载 替换空格
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。class Solution: # s 源字符串 def replaceSpace(self, s): # write code here if s == None: ...
2020-03-12 15:50:01 76
原创 二维数组中的查找
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。# -*- coding:utf-8 -*-class Solution: # array 二维列表 def Find(self, target, array): # wr...
2020-03-12 14:10:48 89
原创 重建二叉树
输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。# -*- coding:utf-8 -*-# class TreeNode:# def __init__(self, x):# s...
2020-03-12 13:44:14 76
原创 增长黑客方法篇
最有可能成功的增长策略不是只关注用户群的扩大,也要最大限度发挥现有用户的价值。打破各个部门孤立的筒仓企业的知识和技能孤立地存在于组织筒仓中,不同部门的人员难以跨越界限,重复利用资源,这样会抑制创新步伐,阻碍增长。故而要搭建跨职能的增长团队打破壁垒。人员构成...
2020-03-10 22:17:44 800
原创 Leetcode_615. 平均工资:部门与公司比较
题目难度困难题目描述给如下两个表,写一个查询语句,求出在每一个工资发放日,每个部门的平均工资与公司的平均工资的比较结果 (高 / 低 / 相同)。表: salary...
2020-03-09 10:29:41 363
原创 Leetcode_614. 二级关注者
题目难度中等题目描述在 facebook 中,表 follow 会有 2 个字段: followee, follower ,分别表示被关注者和关注者。请写一个 sql 查询语句,对每一个关注者,查询他的关注者数目。followeefollowerABBCBDDE输出followernumB2D1...
2020-03-08 21:24:18 466 1
原创 LeetCode_612. 平面上的最近距离
题目难度中等题目描述表 point_2d 保存了所有点(多于 2 个点)的坐标 (x,y) ,这些点在平面上两两不重合。写一个查询语句找到两点之间的最近距离,保留 2 位小数。xy-1-100-1-2最近距离在点 (-1,-1) 和(-1,2) 之间,距离为 1.00 。所以输出应该为shortest1.00正确答案...
2020-03-08 20:55:18 639
原创 Leetcode_608. 树节点
题目难度中等题目描述给定一个表 tree,id 是树节点的编号, p_id 是它父节点的 id 。写一个查询语句,输出所有节点的编号和节点的类型,并将结果按照节点编号排序。上面样例的结果为正确答案SELECT id AS Id, CASE WHEN p_id IS NULL THEN 'Root' WHEN id IN (SELECT DISTINC...
2020-03-08 16:31:53 381
原创 Leetcode_607. 销售员
题目难度简单题目描述给定 3 个表: salesperson, company, orders。输出所有表 salesperson 中,没有向公司 ‘RED’ 销售任何东西的销售员。表 salesperson 存储了所有销售员的信息。每个销售员都有一个销售员编号 sales_id 和他的名字 name 。表 company 存储了所有公司的信息。每个公司都有一个公司编号 com_i...
2020-03-08 16:12:13 313
原创 Leetcode_603. 连续空余座位
题目难度简单题目描述几个朋友来到电影院的售票处,准备预约连续空余座位。你能利用表 cinema ,帮他们写一个查询语句,获取所有空余座位,并将它们按照 seat_id 排序后返回吗?seat_idfree1120314151结果seat_id345正确答案SELECT DISTINCT(c...
2020-03-08 15:13:49 377
原创 Leetcode_602. 好友申请 II :谁有最多的好友
题目难度中等题目描述在 Facebook 或者 Twitter 这样的社交应用中,人们经常会发好友申请也会收到其他人的好友申请。表 request_accepted 存储了所有好友申请通过的数据记录,其中, requester_id 和 accepter_id 都是用户的编号。写一个查询语句,求出谁拥有最多的好友和他拥有的好友数目。对于上面的样例数据,结果为正确答案SELECT ...
2020-03-08 15:00:25 408
原创 Leetcode_601. 体育馆的人流量
题目难度困难题目描述X 市建了一个新的体育馆,每日人流量信息被记录在这三列信息中:序号 (id)、日期 (visit_date)、 人流量 (people)。每天只有一行记录,日期随着 id 的增加而增加。请编写一个查询语句,找出人流量的高峰期。高峰期时,至少连续三行记录中的人流量不少于100。例如,表 stadium:对于上面的示例数据,输出为:正确答案SELECT id,v...
2020-03-08 13:34:25 291
原创 Leetcode_597. 好友申请 I :总体通过率
题目难度简单题目描述在 Facebook 或者 Twitter 这样的社交应用中,人们经常会发好友申请也会收到其他人的好友申请。现在给如下两个表:写一个查询语句,求出好友申请的通过率,用 2 位小数表示。通过率由接受好友申请的数目除以申请总数。对于上面的样例数据,你的查询语句应该返回如下结果。注意:通过的好友申请不一定都在表 friend_request 中。在这种情况下,你只需...
2020-03-07 19:27:07 456
原创 AB_test
AB_test用于解决什么问题?为了验证一个策略的效果,同一时段内,给实验组(采取优化的策略)与对照组(采取原策略),对比看那种策略的效果的实验方法。关于ABtest的两种错误观念判断策略好坏,靠直觉好于做ABtest。面对的场景不同,可能采取同一优化策略,效果是不同的;曾经采取优化策略不奏效,不代表在新环境下策略无效。不是说,什么时候都必须abtest。有些产品还在早期,用户量太小,...
2020-03-07 17:14:14 262
原创 Leetcode_585. 2016年的投资
题目难度中等题目描述写一个查询语句,将 2016 年 (TIV_2016) 所有成功投资的金额加起来,保留 2 位小数。对于一个投保人,他在 2016 年成功投资的条件是:1. 他在 2015 年的投保额 (TIV_2015) 至少跟一个其他投保人在 2015 年的投保额相同。2. 他所在的城市必须与其他投保人都不同(也就是说维度和经度不能跟其他任何一个投保人完全相同)。PID 字段是投...
2020-03-07 15:09:47 373
原创 Leetcode_584. 寻找用户推荐人
题目难度简单题目描述给定表 customer ,里面保存了所有客户信息和他们的推荐人。写一个查询语句,返回一个编号列表,列表中编号的推荐人的编号都 不是 2。对于上面的示例数据,结果为正确答案SELECT nameFROM customerWHERE IFNULL(referee_id,0)<> 2这里主要是NULL值如果不变成数字类型,无法从where中筛选出来...
2020-03-07 12:11:33 275
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人