常见大数据面试SQL-近30天连续登陆3天以上次数-非开窗 一、题目 有用户登录记录,已经按照日期去重。求近三十天,用户连续登录超过3天的次数,一直连续登录算一次,有间隔然后重新计算次数, 要求不能用开窗 样例数据 +----------+-------------+ | user_id | login_date | +----------+-------------+ | 001 | 2024-07-03 | | 001 | 2024-07-04 | | 常见 admin 2天前 13 热度 0评论
常见大数据面试SQL-有序行转列 一、题目 有学生各学科分数表,记录了学生的各科分数,请按照学生粒度,生成两列数据分别为学科和分数,要求学科内的顺序与分数顺序一致。 样例数据 +----------+----------+--------+ | student | subject | score | +----------+----------+--------+ | 张三 | 数学 | 80 | | 张三 | 英语 | 82 | 常见 admin 2天前 15 热度 0评论
常见大数据面试SQL-max_by处理缺失值 一、题目 现有用户账户表,包含日期、用户id、用户余额,其中用户余额发生了缺失,需要进行补全。补全规则:如果余额为空则取之前最近不为空值进行填补。如果截止到最早日期都为空则补0; 样例数据 +-------------+----------+---------+ | c_date | user_id | amount | +-------------+----------+---------+ | 常见 admin 2天前 13 热度 0评论
常见大数据面试SQL-奖金瓜分问题 一、题目 在活动大促中,有玩游戏瓜分奖金环节。现有奖金池为 10000元,代表奖金池中的初始额度。用户的分数信息如下表。表中的数据代表每一个用户和其对应的得分,user_id 和 score 都不会有重复值。瓜分奖金的规则如下:按照 score 从高到低依次瓜分,每个人都能分走当前奖金池里面剩余奖金的一半,当奖金池里面剩余的奖金少于 250 时(不含),则停止瓜分奖金。 现在需要查询出所有分到奖金 常见 admin 2天前 13 热度 0评论
常见大数据面试SQL-各用户最长的连续登录天数-可间断 一、题目 现有各用户的登录记录表t14_login_events如下,表中每行数据表达的信息是一个用户何时登录了平台。 现要求统计各用户最长的连续登录天数,间断一天也算作连续,例如:一个用户在1,3,5,6登录,则视为连续6天登录。 样例数据 +----------+----------------------+ | user_id | login_datetime | +----------+- 常见 admin 2天前 12 热度 0评论
常见大数据面试SQL-查询每个学科第三名的学生的学科成绩总成绩及总排名 一、题目 有学生成绩表,包含学生姓名、学科、成绩三个字段,请用一条SQL查询出每个学科排名第三名的学生,他的学科成绩、总成绩、以及总排名。 样例数据 +----------+----------+--------+ | student | subject | score | +----------+----------+--------+ | 张三 | 语文 | 95 | | 李四 | 语文 | 常见 admin 2天前 17 热度 0评论
常见大数据面试SQL-查询前2大和前2小用户并有序拼接 一、题目 有用户账户表,包含年份,用户id和值,请按照年份分组,取出值前两小和前两大对应的用户id,注意:需要保持值最小和最大的用户id排首位。 样例数据 +-------+----------+--------+ | year | user_id | value | +-------+----------+--------+ | 2022 | A | 30 | | 2022 | B | 10 | 常见 admin 2天前 12 热度 0评论
常见大数据面试SQL-查询每个产品每年总销售额 一、题目 已知有表如下,记录了每个产品id、产品名称、产品销售开始日期、产品销售结束日期以及产品日均销售金额,请计算出每个产品每年的销售金额 样例数据 +-------------+---------------+----------------------+----------------------+----------------------+ | product_id | product_ 常见 admin 2天前 10 热度 0评论
常见大数据面试SQL-用户行为路径分析 一、题目 有一张用户操作行为记录表 t10_act_log 包含用户ID(user_id),操作编号(op_id),操作时间(op_time) 要求: 统计每天符合以下条件的用户数:A操作之后是B操作,AB操作必须相邻; 统计每天用户行为序列为A-B-D的用户数;其中:A-B之间可以有任何其他浏览记录(如C,E等),B-D之间除了C记录可以有任何其他浏览记录(如A,E等) +----------+ 常见 admin 2天前 16 热度 0评论
常见大数据面试SQL-所有考试科目的成绩都大于对应学科平均成绩的学生 一、题目 有学生每科科目成绩,找出所有科目成绩都大于对应学科的平均成绩的学生 +------+------+--------+ | sid | cid | score | +------+------+--------+ | 1 | 1 | 90 | | 1 | 2 | 50 | | 1 | 3 | 72 | | 2 | 1 | 40 | | 2 | 2 | 50 | | 2 | 3 | 22 | 常见 admin 2天前 15 热度 0评论