---手撕SQL
在,手撕个SQL看看。
寒 暄
自渡
展开
-
简单HQL练习-查询表中及格人数与不及格人数
在一条SQL中使用条件进行判断可以使用where子句,但是对两个相反的条件进行选择的话,就必须使用case when子句。比如统计表中及格人数与不及格人数,同时限定一条SQL语句的话,就可以这样写:select sum(case when score<60 then 1 else 0 end) as 不合格人数, sum(case when score>=60 then 1 else 0 end) as 合格人数 from user ;case when子句有两种写法:原创 2020-09-11 11:50:40 · 703 阅读 · 0 评论 -
大数据SQL经典面试题系列(5) - 如何找出最小的N个数
表结构:表名:Studentname -- 姓名stunum -- 学号class -- 班级adtime -- 入学时间age -- 年龄major -- 专业namestunumclassadtimeagemajor小赵00011班2016-09-0119计算机小钱00021班2017-09-0121计算机小孙00032班2017-09-0119金融小李00043班2017-09-0117计算机原创 2020-08-26 17:29:55 · 536 阅读 · 0 评论 -
大数据SQL经典面试题系列(4) - 鹅厂校招SQL硬性考察题目
目:有一张用户签到表【t_user_attendence】,标记每天用户是否签到(说明:该表包含所有用户所有工作日的出勤记录) ,包含三个字段:日期【fdate】,用户id【fuser_id】,用户当天是否签到【fis_sign_in:0否1是】;问题1:请计算截至当前每个用户已经连续签到的天数(输出表仅包含当天签到的所有用户,计算其连续签到天数)输出表【t_user_consecutive_days】:用户id【fuser_id】,用户联系签到天数【fconsecutive_days】解答逻辑非常简单,原创 2020-08-26 16:06:23 · 882 阅读 · 1 评论 -
大数据SQL经典面试题系列(3) -网易严选/考拉数据分析SQL题
查询每个用户第一单的消费金额现在数据库中有一张用户交易表order,其中有userid(用户ID)、amount(消费金额)、paytime(支付时间),请写出对应的SQL语句,查出每个用户第一单的消费金额。select a.userid,a.amountfrom(select * ,rank() over(partition by userid order by paytime) as paytime_rank from order ) as a where paytime_rank=1查询原创 2020-08-26 15:18:39 · 1101 阅读 · 1 评论 -
进阶HQL练习-谷粒影音
统计视频观看数 Top10统计视频类别热度 Top10统计视频观看数 Top20 所属类别以及类别包含的 Top20 的视频个数统计视频观看数 Top50 所关联视频的所属类别 Rank统计每个类别中的视频热度 Top10统计每个类别中视频流量 Top10统计上传视频最多的用户 Top10 以及他们上传的观看次数在前 20 视频统计每个类别视频观看数 Top10...原创 2020-07-24 11:56:34 · 267 阅读 · 0 评论 -
大数据SQL经典面试题系列(2) - 蚂蚁森林面试题
准备数据:plant_carbon.txt 换取树苗所需碳排放量(换树表)p001 梭梭树 17p002 沙柳 19p003 樟子树 146p004 胡杨 215user_low_carbon.txt 用户累计减少碳排放量表(用户积碳表)u_001 2017/1/1 10u_001 2017/1/2 150u_001 2017/1/2 110u_001 2017/1/2 10u_001 2017/1/4 50u_001 2017/1/4 10u_001 2017/1/6 45原创 2020-07-15 10:54:31 · 1562 阅读 · 1 评论 -
简单HQL练习-统计店铺访客数
题目:1.每个店铺的UV(访客数)2.每个店铺访问top3的信息(店铺名称,访客id,访问次数)输出结果:a 4b 4c 3输出结果:a u5 1a u1 2a u2 3b u4 1b u1 2b u5 3c u2 1c u6 2c u3 3数据准备(第一列是用户id,第二列是店铺名):u1 au2 bu1 bu1 au3 cu4 bu1 au2 cu5 bu4 bu6 cu2 cu1 bu2 au2 au3 au5 au5 au5原创 2020-07-11 16:13:07 · 994 阅读 · 0 评论 -
简单HQL练习-统计用户累计访问次数
题目:统计用户累计访问次数与当月访问次数输出格式:u01 2017-01 11 11u01 2017-02 12 23u02 2017-01 12 12u03 2017-01 8 8u04 2017-01 3 3数据准备:lx1.csvu01 2017/1/21 5u02 2017/1/23 6u03 2017/1/22 8u04 2017/1/20 3u01 2017/1/23 6u01 2017/2/21 8u02 2017/1/23 6u01 2017/2/22 4原创 2020-07-11 14:40:30 · 1159 阅读 · 0 评论 -
大数据SQL经典面试题系列(1) - 连续3天登录用户
SELECT user_id, count( 1 ) cnt FROM ( SELECT user_id, login_date, row_number() over ( PARTITION BY user_id ORDER BY login_date ) rn FROM sqllx.tmp_last_3_day ) t GROUP BY user_id, data_sub ( login_date, t.rn ) HAVING count( 1 ) &g.原创 2020-07-09 16:25:38 · 1216 阅读 · 0 评论