没有合适的资源?快使用搜索试试~ 我知道了~
数据分析面试题-SQL面试题汇总.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 1 下载量 110 浏览量
2022-05-02
13:23:10
上传
评论 2
收藏 564KB DOCX 举报
温馨提示
试读
36页
数据分析面试题-SQL面试题汇总
资源推荐
资源详情
资源评论
面试题目一
1.题目如下
2.下面开始建表、插入数据
create table datafrog_test1
(userid varchar(20),
changjing varchar(20),
inttime varchar(20)
);
insert into datafrog_test1 values
(1,1001,1400),
(2,1002,1401),
(1,1002,1402),
(1,1001,1402),
(2,1003,1403),
(2,1004,1404),
(3,1003,1400)
(4,1004,1402),
(4,1003,1403),
(4,1001,1403),
(4,1002,1404)
(5,1002,1402),
(5,1002,1403),
(5,1001,1404),
(5,1003,1405);
3.解答思路:排序及 concat 连接
select concat(t.userid,'-',group_concat(t.changjing separator'-')) as
result
from(
select userid,changjing,inttime,
if(@tmp=userid,@rank:=@rank+1,@rank:=1) as new_rank,
@tmp:=userid as tmp
from (select userid,changjing, min(inttime) inttime from datafrog_test1
group by userid,changjing)temp
order by userid,inttime
)t
where t.new_rank<=2
group by t.userid;
4.输出结果:
5.注意:
有可能大家的代码会有报错现象,主要是 ONLY_FULL_GROUP_BY 引起的报错,解决
办法是运行上面代码时,运行下这个就好 set sql_mode=''。其实 mysql作为查询还
是不错的,但是拿来做分析的话,就是有点乏力了,像排序、中位数等都比较麻烦些的,
工作中一般用 pandas、sqlserver、oracle、hive、spark 这些来做分析。这里可
不是说 mysql 没用,反而是特别有用,也容易上手,是其他的基础。
面试题目二
1.题目如下
2.下面开始建表、插入数据
create database xiangji;
use xiangji;
create table userinfo(
uid varchar(10),
app_name varchar(20),
duration int(10),
times int(10),
dayno varchar(30)
);
load data infile 'D:/d.csv'
into table userinfo
fields terminated by ','
ignore 1 lines;
3.先看看活跃度的计算
select dayno, count(distinct uid) as 活跃度
from aui
where app_name='相机'
group by dayno ;
4.次日留存
使用两表自交,利用 case when 找到符合相差日期为 1 天的 id,计
数,得出次日留存人数,最后用 distinct 去重
select
a.day1,count(distinct case when day2-day1=1 then a.uid end) 次留
剩余35页未读,继续阅读
资源评论
- 撒丁岛盖伦2023-11-22感谢大佬分享的资源给了我灵感,果断支持!感谢分享~
普通网友
- 粉丝: 12w+
- 资源: 9337
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功