![](https://img-blog.csdnimg.cn/direct/b7894e0c91d34615ab16de664da382e1.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
SQL
夏木夕
这个作者很懒,什么都没留下…
展开
-
SQL面试题练习 —— 有序行转列
有学生各学科分数表,记录了学生的各科分数,请按照学生粒度,生成两列数据分别为学科和分数,要求学科内的顺序与分数顺序一致。使用collect_list函数,将数据进行行转列,得到数组。注意:不同学科顺序是不能保证有序的,有序是巧合。使用struct将学科和成绩转换为结构体,这样绑定了学科和成绩。原创 2024-08-12 15:28:04 · 329 阅读 · 0 评论 -
SQL面试题练习 —— 根据4节气推算季节
题目来源:美团。原创 2024-08-12 11:40:22 · 307 阅读 · 0 评论 -
SQL面试题练习 —— 最后一次登录停留时长
题目来源:腾讯微信。原创 2024-08-08 14:09:11 · 313 阅读 · 0 评论 -
SQL面试题练习 —— 用户行为路径分析
题目来源:拼多多。原创 2024-08-08 13:50:50 · 438 阅读 · 0 评论 -
SQL面试题练习 —— 奖金瓜分问题
现有奖金池为 10000元,代表奖金池中的初始额度。表中的数据代表每一个用户和其对应的得分,user_id 和 score 都不会有重复值。瓜分奖金的规则如下:按照 score 从高到低依次瓜分,每个人都能分走当前奖金池里面剩余奖金的一半,当奖金池里面剩余的奖金少于 250 时(不含),则停止瓜分奖金。现在需要查询出所有分到奖金的 user_id 和其对应的奖金。题目中要求:当奖金池里面剩余的奖金少于 250 时(不含),则停止瓜分奖金。如果无限瓜分下去,看下是什么结果。,排名 rn 的得到的为。原创 2024-08-08 13:38:12 · 748 阅读 · 0 评论 -
SQL面试题练习 —— 计算用户首单是即时单的比例
题目来源:美团。原创 2024-08-08 13:17:02 · 564 阅读 · 0 评论 -
SQL面试题练习 —— 统计最大连续登录天数区间
【代码】SQL面试题练习 —— 统计最大连续登录天数区间。原创 2024-07-17 22:51:39 · 450 阅读 · 0 评论 -
SQL面试题练习 —— 查询每个用户最大连续登录天数
(3)按照 diff 分组,获取每个用户每次连续登录的天数。(2)利用等差数列的特性,如果是连续登录,(4)得出每个用户最大连续登录天数。查询每个用户最大连续登录天数。原创 2024-07-17 21:01:45 · 545 阅读 · 0 评论 -
SQL面试题练习 —— 各用户最长的连续登录天数-可间断
现要求统计各用户最长的连续登录天数,间断一天也算作连续,例如:一个用户在1,3,5,6登录,则视为连续6天登录。首先根据user_id和group_id分组,用datediff计算出出最大登陆日期和最小登陆日期,两者做差+1 得到每次连续登陆的天数。根据用户分组,使用lag函数获得当前行的上一行数据中的日期,使用datediff函数判断日期当期日期与上一行日期的时间差。根据date_diff结果判断是否连续,如果date_diff <= 2则认为连续 我们给赋值为0,否则不连续,赋值为1。原创 2024-07-06 00:33:08 · 422 阅读 · 0 评论 -
SQL面试题练习 —— 连续签到领金币
题目来源:百度。原创 2024-07-04 18:05:03 · 399 阅读 · 0 评论 -
SQL面试题练习 —— 找出所有连续未登录5天及以上的用户并提取出这些用户最近一次登录的日期
找出所有连续未登录5天及以上的用户并提取出这些用户最近一次登录的日期。原创 2024-07-04 17:41:40 · 336 阅读 · 0 评论 -
SQL面试题练习 —— 查询每个学科第三名的学生的学科成绩总成绩及总排名
有学生成绩表,包含学生姓名、学科、成绩三个字段,请用一条SQL查询出每个学科排名第三名的学生,他的学科成绩、总成绩、以及总排名。样例数据。原创 2024-07-04 16:54:27 · 226 阅读 · 0 评论 -
SQL面试题练习 —— 查询前2大和前2小用户并有序拼接
根据年份分组,取出每年最大、第二大,最小、第二小用户ID。使用 if 对desc_rn,rn进行判断,对符合条件的数据取出 user_id,其他去null,然后使用聚合函数取出结果。有用户账户表,包含年份,用户id和值,请按照年份分组,取出值前两小和前两大对应的用户id,需要保持值最小和最大的用户id排首位。(2)根据年份分组,取出value最大user_id,第二大user_id,最小user_id,第二小user_id。(3)按照顺序拼接,得到最终结果。按照题目要求,进行字符拼接。原创 2024-07-01 16:59:33 · 344 阅读 · 0 评论 -
SQL面试题练习 —— 微信运动步数在好友中的排名
题目来源:腾讯。原创 2024-06-28 12:04:19 · 322 阅读 · 0 评论 -
SQL面试题练习 —— 计算每个用户的受欢迎程度
题目来源:meta。原创 2024-06-28 11:54:43 · 163 阅读 · 0 评论 -
SQL面试题练习 —— 查询最近一笔有效订单
题目来源:字节跳动。原创 2024-06-28 11:44:20 · 342 阅读 · 0 评论 -
SQL面试题练习 —— 查询每个产品每年总销售额
我们先观察2中的结果,可以看到原始记录中每行数据都与所有年都有一行记录。我们从销售日期和每年开始日期中取较大日期 得到一个开始时间,然后从销售截止日期和每年的结束日期取较小日期 得到一个结束日期,然后用结束日期减去开始日期。但是这个date_diff 的值比预期小1,这是因为我们算了日期差,所以我们在结果上+1即可。已知有表 t_product_sales 如下,记录了每个产品id、产品名称、产品销售开始日期、产品销售结束日期以及产品日均销售金额,请计算出每个产品每年的销售金额。原创 2024-06-28 10:57:27 · 441 阅读 · 0 评论 -
SQL面试题练习 —— 共同使用ip用户检测问题
题目来源:字节跳动。原创 2024-06-27 17:32:18 · 269 阅读 · 0 评论 -
SQL面试题练习 —— 无效搜索
题目来源:百度。原创 2024-06-27 17:16:08 · 345 阅读 · 0 评论 -
SQL面试题练习 —— 满足连续5天以上每天上涨超过5%的股票
现有一张股票价格表stock_data有3个字段分别是股票代码(stock_code),日期(trade_date),收盘价格(closing_price) ,请找出满足连续5天以上(含)每天上涨超过5%的股票,并给出连续满足天数及开始和结束日期。备注:不考虑停牌或其他情况,仅仅关注每天连续5天上涨超过5%的股票。原创 2024-05-21 20:44:15 · 416 阅读 · 0 评论 -
SQL面试题练习 —— 计算次日留存率
现有用户登录记录表,已经按照用户日期进行去重处理。以用户登录的最早日期作为新增日期,请计算次日留存率是多少。原创 2024-05-21 21:12:00 · 464 阅读 · 0 评论 -
SQL面试题练习 —— 波峰波谷
需要比较当天价格与前一天、后一天的价格进行比较,常规想法为进行关联,股票ID相等、日期为当天日期减1,为前一天价格,日期为当天价格加1,为后一天价格,然后进行计算;有如下数据,记录每天每只股票的收盘价格,请查出每只股票的波峰和波谷的日期和价格;波峰定义:股票价格高于前一天和后一天价格时为波峰。波谷定义:股票价格低于前一天和后一天价格是为波谷。lag 和 lead 函数,可以避免进行表关联;原创 2024-05-21 19:26:57 · 862 阅读 · 0 评论 -
SQL面试题练习 —— 用户中两人一定认识的组合数
题目来源:快手。原创 2024-06-27 16:17:41 · 126 阅读 · 0 评论 -
SQL面试题练习 —— 连续支付订单合并
如果同一用户在同一商户存在多笔订单,且中间该用户没有其他商户的支付记录,则认为是连续订单,请把连续订单进行合并,时间取最早支付时间,金额求和。原创 2024-05-21 19:58:30 · 494 阅读 · 2 评论 -
SQL面试题练习 —— 最高峰同时直播人数
有如下数据记录直播平台主播上播及下播时间,根据该数据计算出平台最高峰同时直播人数。题目来源:字节、快手。原创 2024-05-21 22:28:18 · 328 阅读 · 0 评论 -
SQL面试题练习 —— 品牌营销活动天数
本题难点在解决交叉问题,但是题目给出的是开始日期和结束日期,我们根据开始和结束日期,使用生成函数,生成活动期间每天的记录,然后根据品牌分组,对日期进行去重即可。2:苹果第二行数据的营销结束日期和第三行的开始日期不连续,2019-09-07以及2019-09-08不统计到营销天数中。有营销活动记录表,记录了每个品牌每次营销活动的开始日期和营销活动的结束日期,现需要统计出每个品牌的总营销天数。1:苹果第一行数据的营销结束日期比第二行数据的营销开始日期要晚,这部分有重叠的日期的要去重计算。原创 2024-05-22 12:47:22 · 774 阅读 · 0 评论 -
SQL面试题练习 —— 求连续段的起始位置和结束位置
题目来源:拼多多。原创 2024-06-27 16:35:00 · 353 阅读 · 0 评论 -
SQL面试题练习 —— 合并数据
题目来源:京东。原创 2024-05-22 19:16:54 · 378 阅读 · 0 评论 -
SQL面试题练习 —— 求连续段的最后一个数及每个连续段的个数
题目来源:拼多多。原创 2024-06-07 17:37:14 · 384 阅读 · 0 评论 -
SQL面试题练习 —— 部门人员数据分析
题目来源:三一重工。原创 2024-05-22 19:52:53 · 264 阅读 · 0 评论 -
SQL面试题练习 —— 累加刚好超过各省GDP40%的地市名称
江苏省的苏州19% 南京 14% 无锡 12%,苏州+南京=33% ,苏州+南京+无锡=45%,取出 苏州、南京、无锡。现有各省地级市的gdp数据,求从高到底累加刚好超过各省GDP40%的地市名称,临界地市也需要。浙江省的杭州24% 宁波 20% ,杭州+宁波=44% 大于40% 取出杭州、宁波。:求取累加求和原创 2024-06-07 17:09:04 · 361 阅读 · 0 评论 -
SQL面试题练习 —— 合并活动日期
已知有表记录了每个大厅的活动开始日期和结束日期,每个大厅可以有多个活动。请编写一个SQL查询合并在同一个大厅举行的所有重叠的活动,如果两个活动至少有一天相同,那他们就是重叠的,请将他们的交叉的日期合并。代表有交叉,可以合并,否则代表不可合并。判断出是否可以合并之后,具体操作合并就转化成类似连续问题了。的最大值作为活动结束日期,得到最终结果。重叠,我们将它们合并到一个活动中。进行了升序排列,所以当前行的。函数进行开窗,取到上一行的。的最小值作为活动开始日期,,我们只需要对当前行的。进行比较,如果当前行的。原创 2024-05-23 11:49:47 · 532 阅读 · 0 评论 -
SQL面试题练习 —— 向用户推荐好友喜欢的音乐
根据用户关注表和用户喜欢的音乐表进行关联,查询出每个用户关注用户喜欢的音乐ID,再筛选出用户1关注用户喜欢的音乐ID;记录用户ID及其关注的人ID,请给用户1 推荐他关注的用户喜欢的音乐名称。:行转列并对重复的音乐名称去重,得到最终结果。:关联音乐名字表,关联出对应的音乐名称;原创 2024-06-06 16:11:40 · 277 阅读 · 0 评论 -
SQL面试题练习 —— 合并用户浏览行为
使用sum()over(partition by ……order by。)累加计算,给出组ID。聚合函数开窗使用order by 计算结果是从分组开始计算到当前行的结果。有一份用户访问记录表,记录用户id和访问时间,如果用户访问时间间隔小于60s则认为时一次浏览,请合并用户的浏览行为;(1)分用户计算出每次点击时间差。(2)确认是否是新的访问。原创 2024-06-27 12:15:09 · 313 阅读 · 0 评论 -
SQL面试题练习 —— 查询每个用户的第一条和最后一条记录
题目来源:小红书。原创 2024-06-27 16:43:53 · 194 阅读 · 0 评论 -
SQL面试题练习 —— 取出累计值与1000差值最小的记录
已知有表 t_cost_detail 包含 id 和 money 两列,id 为自增,请累加计算money 值,并求出累加值与 1000 差值最小的记录。原创 2024-05-22 14:55:04 · 208 阅读 · 0 评论 -
SQL面试题练习 —— 截止目前登陆用户数及登陆用户列表
题目来源:滴滴。原创 2024-06-27 12:00:17 · 295 阅读 · 1 评论 -
SQL面试题练习 —— 用户商品购买收藏行为特征加工
购买记录表t_order,包含自增id:id,用户ID:user_id,商品ID:goods_id,订单时间:order_time,商品类别:goods_type;请用一句 sql 语句得出以下查询结果,得到。原创 2024-05-22 15:35:16 · 154 阅读 · 0 评论 -
SQL面试题练习 —— 互相关注
现有用户关注者列表记录表,有两个字段,用户ID(user_id),关注者列表(。原创 2024-05-22 18:11:13 · 504 阅读 · 0 评论 -
SQL面试题练习 —— 占据好友封面个数
题目来源:腾讯。原创 2024-06-07 11:07:59 · 318 阅读 · 0 评论