第一套

面试题1.请写出表一中各地市客户数、总费用(ARPU之和) 的SQL语句

2.请写出表一中各地市ARPU(0,30),[30,50),[50-80),[80以上)客户数分别是多少的SQL语句

3.表二中用户有重复的记录,请写出提取2条及以上用户的SQL语句

解答1

select 

解答2

select 

解答3

select 

第二套

思路:第一步--按照用户和场景分组,求每组的最近访问时间,按照用户和访问时间 升序排列,记为表1,目的是为了避免重复场景出现。

第二步-- 使用窗口函数,对表1用户名进行分组,按照访问时间升序排列,记为表2;

第三步-- 筛选表2每组访问时间的前两名,然后对用户进行分组,使用group_concat函数对分组后的场景进行连接,最后使用concat函数将用户名和联结好的场景再次联结。

select 

第三套

1.建数据库和表

create 

2.导入数据

日期格式处理(不处理也可以)

update 

1.每天的活跃用户数

select 

2.次日留存

select 

次日留存,三日留存,7日留存等只需要更改日期相差的天数即可。

因为这道题需要一条sql语句得到图中的结果,那么我们再求留存时可以通过另一种方法。

select

第四套

1.建表

CREATE 

2.行转列

select 

第五套

1.建表

create 

2.列转行

select 

第六套

1.建表

create 

2.添加索引

create 

3.解答

select 

第七套

1.建表

create 

2.第一问

select 

3.第二问

DROP 

第八套

1.建表

create 

2.解答a

drop 

2.解答b

select 

第九套

2.建表导入数据

2.1用户活跃模型表

2.2红包参与领取模型表

2.3用户活跃模型表数据导入

2.4红包参与领取模型表数据导入

关注公众号 DataLion ,回复 ‘面试题数据’即可领取。

3.解答

3.1 计算2019年6月1日至今,每日DAU(活跃用户量,即有登陆的用户)

Select  

3.2 计算20190601至今,每日领取红包的新用户数,老用户数,及人均领取金额,人均领取次数

select 

3.3 计算2019年3月至今,每个月按领红包取天数为1、2、3……30、31天区分,计算取每个月领取红包的用户数,人均领取金额,人均领取次数

select 

3.4 计算2019年3月至今,每个月领过红包用户和未领红包用户的数量,平均月活跃天数(即本月平均活跃多少天)

思路:先写出每个月领红包的用户 记为表1,将改表与活跃用户表右联结,根据表1空值与否来区分红包用户还是非红包用户。

Select

3.5 计算2019年3月至今,每个月活跃用户的注册日期,2019年3月1日前注册的用户日期填空即可

思路:先写出每个用户的注册日期,也就是每个新用户最小的日期,将改表和活跃用户表右联结。

select 

第十套

1 建表

create 

2 解答

select 

题目参考

数据分析SQL面试题目9套汇总​www.jianshu.com

会持续不断的更新,欢迎大家批评指正。

我的公众号 DataLion,欢迎大家关注。

linq to sql 行转列_n套SQL面试题--行转列、留存、日活等相关推荐

  1. SQL Server 执行计划利用统计信息对数据行的预估原理二(为什么复合索引列顺序会影响到执行计划对数据行的预估)...

    本文出处:http://www.cnblogs.com/wy123/p/6008477.html 关于统计信息对数据行数做预估,之前写过对非相关列(单独或者单独的索引列)进行预估时候的算法,参考这里. ...

  2. mysql 交叉表行转列_Oracle行转列、列转行的Sql语句总结

    多行转字符串 这个比较简单,用||或concat函数可以实现 SQL Code selectconcat(id,username)strfromapp_user selectid||usernames ...

  3. 张同学的 SQL中对材料报价单的数据权限进行操作 (如列转行 行转列的处理) 学习一下....

    SQL中对材料报价单的数据权限进行操作 (如列转行 行转列的处理) --可以直接放到查询分析器执行 --判断测试表TmpTCIQuote是否有存在 不存在则创建 if NOT exists (sele ...

  4. oracle列转行 多个字段_Oracle: Oracle行转列、列转行的Sql语句总结

    例子原型: select bkg_num,shpr_cde from CD_XLS_UPLOAD_DETAIL where cd_xls_upload_uuid='392' ; 运行结果如下: 一.多 ...

  5. sql行转列 列数据不定 sql交叉报表实例

    sql交叉报表实例 建表: 在查询分析器里运行: CREATE TABLE [Test] ( [id] [int] IDENTITY (1, 1) NOT NULL , [name] [nvarcha ...

  6. python读取excel指定列-Python读取excel指定列生成指定sql脚本的方法

    需求 最近公司干活,收到一个需求,说是让手动将数据库查出来的信息复制粘贴到excel中,在用excel中写好的公式将指定的两列数据用update这样的语句替换掉. 例如: 有个A库,其中有两个A.01 ...

  7. 命令行客户端MySQL基本命令的使用(登录、登出、数据库操作的SQL语句、表结构的SQL语句、表数据操作的SQL语句)

    1. 登录和登出数据库 登录数据库: 输入下面命令: mysql -uroot -p 说明: -u 后面是登录的用户名  [写成-u root也是可以的] -p 后面是登录密码, 如果不填写, 回车之 ...

  8. SparkSQL读取hive中的数据,行转列的两种方式【行转列专用函数,UDAF】

    先给数据: vi employees 1,George,nan 2,honey,nv 3,georgedage,nan 4,kangkang,nv 上传数据: hdfs dfs -mkdir /sec ...

  9. mysql 行转列分级输出_MySQL如何实现行转列分级输出?_MySQL

    概述 好久没写SQL语句,今天看到问答中的一个问题,拿来研究一下. 问题链接:关于Mysql 的分级输出问题 情景简介 学校里面记录成绩,每个人的选课不一样,而且以后会添加课程,所以不需要把所有课程当 ...

最新文章

  1. MySQL 5.1.24rc + innodb plugin尝鲜
  2. 数据结构与算法:树与二叉树python实现
  3. LVDS收发传输实例
  4. 利用Spring解耦VS的WebService
  5. 微信小程序之旅一(页面渲染)
  6. 阿里文娱搜索排序算法实践和思考(附交流视频和PPT下载链接)
  7. jQuery对表格的操作
  8. Eclipse注释快捷键、如何生成API以及可能遇到的问题解决
  9. Rust: (作者 洛佳) 使用Rust编写操作系统(附录一):链接器参数
  10. 【转】Gnuplot基本介绍
  11. 第十三次博文:教你从立创EDA库导入AD库,保姆级别!
  12. 软件推荐┊最有效防止被聚生网管、P2P终结者等管理软件控制的小工具——ARP防火墙单机版
  13. js继承的几种实现方式
  14. Google Java Style Guide
  15. 神经网络matlab 验证集,机器学习中训练集、验证集、测试集的定义和作用
  16. nginx.conf配置文件中timeout超时时间设置
  17. CSS如何在宽高不确定的父元素内画一个正方形
  18. 补能的争议路线:快充会走向大一统吗?
  19. php手册3.1,thinkphp3.1手册下载|thinkphp3.1手册(thinkphp3.1开发手册chm版下载)_星星软件园...
  20. 分享5个你可能不知道但非常实用的软件

热门文章

  1. 运算符——Python
  2. Producer API
  3. 技术支持在大数据分析中的作用
  4. 数据分析工具具备什么功能
  5. css 宋体_6.CSS字体属性
  6. c语言不用switch做计算器,求助这个题目~不用switch语句用多重if 或者嵌套if的做法...
  7. 32位单片机应用场合_全球首款基于 RISC-V 的 32 位通用单片机出现
  8. linux 内核 3.3.8,Linux内核编译 Ubuntu 14.04.3 server 升级至3.19.8
  9. linux oracle bin目录在哪,linux 安装软件装完后在哪个目录
  10. R语言︱情感分析—词典型代码实践(最基础)(一)