Bootstrap

大数据开发SQL面试题50题(含答案)

本文整理了互联网大厂数据开发、数据分析、数仓等数据相关岗位面试过程中经常出现的SQL面试题,并给出了参考答案。涉及了炸裂函数、开窗函数、聚合函数开窗、在线直播人数等 以及这两年各大厂面疯了各种连续问题。

公司面试题目题目简介详细内容及参考答案
字节跳动最高峰同时直播人数有如下数据记录直播平台主播上播及下播时间,根据该数据计算出平台最高峰同时直播人数。SQL面试题-字节跳动大数据面试SQL-最高峰同时直播人数
字节跳动每分钟最大直播人数有如下数据记录直播平台主播上播及下播时间,根据该数据计算出平台每分钟最大直播人数。SQL面试题-字节跳动大数据面试SQL-每分钟最大直播人数.
字节跳动股票波峰波谷有如下数据,记录每天每只股票的收盘价格,请查出每只股票的波峰和波谷的日期和价格; 波峰:股票价格高于前一天和后一天价格时为波峰 波谷:股票价格低于前一天和后一天价格是为波谷SQL面试题-字节跳动大数据面试SQL-股票波峰波谷
字节跳动合并日期重叠的活动已知有表记录了每个大厅的活动开始日期和结束日期,每个大厅可以有多个活动。请编写一个SQL查询合并在同一个大厅举行的所有重叠的活动,如果两个活动至少有一天相同,那他们就是重叠的SQL面试题-字节跳动大数据面试SQL-合并日期重叠的活动
字节跳动查询最近一笔有效订单现有订单表t_order,包含订单ID,订单时间,下单用户,当前订单是否有效SQL面试题-字节跳动大数据面试SQL-查询最近一笔有效订单
字节跳动共同使用ip用户检测问题现有用户登录日志表,记录了每个用户登录的IP地址,请查询共同使用过3个及以上IP的用户对;SQL面试题-字节跳动大数据面试SQL-共同使用ip用户检测问题
美团每分钟最大直播人数有如下数据记录直播平台主播上播及下播时间,根据该数据计算出平台每分钟最大直播人数。SQL面试题-美团大数据面试SQL-每分钟最大直播人数.
拼多多累加刚好超过各省GDP40%的地市名称现有各省地级市的gdp数据,求从高到底累加刚好超过各省GDP40%的地市名称,临界地市也需要。 例如:浙江省的杭州24% 宁波 20% ,杭州+宁波=44% 大于40% 取出杭州、宁波。江苏省的苏州19% 南京 14% 无锡 12%,苏州+南京=33% ,苏州+南京+无锡=45%,取出 苏州、南京、无锡SQL面试题-拼多多大数据面试SQL-累加刚好超过各省GDP40%的地市名称
拼多多求连续段的起始位置和结束位置有一张表t_id记录了id,id不重复,但是会存在间断,求出连续段的起始位置和结束位置。SQL面试题-拼多多大数据面试SQL-求连续段的起始位置和结束位置
拼多多求连续段的最后一个数及每个连续段的个数有一张表t_id记录了id,id不重复,但是会存在间断,求出连续段的最后一个数及每个连续段的个数SQL面试题-拼多多大数据面试SQL-求连续段的最后一个数及每个连续段的个数
小红书品牌营销活动天数有营销活动记录表,记录了每个品牌每次营销活动的开始日期和营销活动的结束日期,现需要统计出每个品牌的总营销天数。 注意: 1:苹果第一行数据的营销结束日期比第二行数据的营销开始日期要晚,这部分有重叠的日期的要去重计算。 2:苹果第二行数据的营销结束日期和第三行的开始日期不连续,2019-09-07以及2019-09-08不统计到营销天数中。SQL面试题-小红书大数据面试SQL-品牌营销活动天数
小红书用户商品购买收藏行为特征加工已知有:购买记录表t_order,包含自增id:id,用户ID:user_id,商品ID:goods_id,订单时间:order_time,商品类别:goods_type;用户收藏记录表t_collect_log,包含自增id,用户ID:user_id,商品ID:goods_id,收藏时间 collect_time;请用一句sql语句得出以下查询结果,得到所有用户的商品行为特征,其中用户行为分类为4种:是否已购买、购买未收藏、收藏未购买、收藏且购买。SQL面试题-小红书大数据面试SQL-用户商品购买收藏行为特征加工
小红书查询每个用户的第一条和最后一条记录现有一张订单表 t_order 有订单ID、用户ID、商品ID、购买商品数量、购买时间,请查询出每个用户的第一条记录和最后一条记录。SQL面试题-小红书大数据面试SQL-查询每个用户的第一条和最后一条记录
快手最高峰同时直播人数有如下数据记录直播平台主播上播及下播时间,根据该数据计算出平台最高峰同时直播人数。SQL面试题-快手大数据面试SQL-最高峰同时直播人数
快手用户中两人一定认识的组合数有某城市网吧上网记录表,包含字段:网吧id,访客id(身份证号),上线时间,下线时间。规则1:如果两个用户在同一个网吧上线时间或者下线时间间隔在10分钟以内,则两个用户可能认识;规则2:如果两个用户在三家以上的网吧出现过【规则1】可能认识的情况,则两人一定认识;请计算该市中两人一定认识的组合数SQL面试题-快手大数据面试SQL-用户中两人一定认识的组合数
腾讯向用户推荐好友喜欢的音乐现有三张表分别为:用户关注表t_follow(user_id,follower_id)记录用户ID及其关注的人ID,请给用户1推荐他关注的用户喜欢的音乐名称SQL面试题-腾讯大数据面试SQL-向用户推荐好友喜欢的音乐
腾讯占据好友封面个数有两个表,朋友关系表user_friend,用户步数表user_steps。朋友关系表包含两个字段,用户id,用户好友的id;用户步数表包含两个字段,用户id,用户的步数.查询: 占据多少个好友的封面(在好友的列表中排行第一,且必须超过好友的步数)SQL面试题-腾讯大数据面试SQL-占据好友封面个数
腾讯合并连续支付订单现有一张用户支付表:t_user_pay包含字段订单ID,用户ID,商户ID,支付时间,支付金额。如果同一用户在同一商户存在多笔订单,且中间该用户没有其他商户的支付记录,则认为是连续订单,请把连续订单进行合并,时间取最早支付时间,金额求和SQL面试题-腾讯大数据面试SQL-合并连续支付订单
腾讯连续5天涨幅超过5%的股票现有一张股票价格表stock_data有3个字段分别是股票代码(stock_code),日期(trade_date),收盘价格(closing_price) ,请找出满足连续5天以上(含)每天上涨超过5%的股票,并给出连续满足天数及开始和结束日期。 备注:不考虑停牌或其他情况,仅仅关注每天连续5天上涨超过5%的股票SQL面试题-腾讯大数据面试SQL-连续5天涨幅超过5%的股票
腾讯连续登陆超过N天的用户现有用户登录日志表 t_login_log,包含用户ID(user_id),登录日期(login_date)。数据已经按照用户日期去重,请查出连续登录超过4天的用户IDSQL面试题-腾讯大数据面试SQL-连续登陆超过N天的用户
腾讯微信运动步数在好友中的排名有两个表,朋友关系表user_friend,用户步数表user_steps。朋友关系表包含两个字段,用户id,用户好友的id;用户步数表包含两个字段,用户id,用户的步数.用户在好友中的排名SQL面试题-腾讯大数据面试SQL-微信运动步数在好友中的排名
百度股票波峰波谷有如下数据,记录每天每只股票的收盘价格,请查出每只股票的波峰和波谷的日期和价格; 波峰:股票价格高于前一天和后一天价格时为波峰 波谷:股票价格低于前一天和后一天价格是为波谷SQL面试题-百度大数据面试SQL-股票波峰波谷
百度合并用户浏览行为有一份用户访问记录表,记录用户id和访问时间,如果用户访问时间间隔小于60s则认为时一次浏览,请合并用户的浏览行为。SQL面试题-百度大数据面试SQL-合并用户浏览行为
百度无效搜索现有一份用户搜索日志,包含用户ID,时间,用户搜索内容。定义 无效搜索:如果用户下一次搜索内容中包含本次搜索内容,则认为本次搜索为无效搜索。请查询用户无效搜索记录SQL面试题-百度大数据面试SQL-无效搜索
京东合并数据已知有数据A如下,请分别根据A生成B和C。SQL面试题-京东大数据面试SQL-合并数据
滴滴取出累计值与1000差值最小的记录已知有表t_cost_detail包含id和money两列,id为自增,请累加计算money值,并求出累加值与1000差值最小的记录。SQL面试题-滴滴大数据面试SQL-取出累计值与1000差值最小的记录
三一重工部门人员数据分析现有一张员工在职所在部门信息表,包含员工ID、所属部门、开始日期、结束日期,请查询出如下内容1.2024年1月31日A部门在职员工数;2.2024年1月份A部门员工最多时有多少员工;3.2024年1月份A部门平均有多少员工;SQL面试题-三一重工大数据面试SQL-部门人员数据分析
华为合并日期重叠的活动已知有表记录了每个大厅的活动开始日期和结束日期,每个大厅可以有多个活动。请编写一个SQL查询合并在同一个大厅举行的所有重叠的活动,如果两个活动至少有一天相同,那他们就是重叠的SQL面试题-华为大数据面试SQL-合并日期重叠的活动
meta计算每个用户的受欢迎程度有好友关系表t_friend,记录了user1_id,user2_id的好友关系对。现定义用户受欢迎程度=用户拥有的朋友总数/平台上的用户总数,请计算出每个用户的受欢迎程度。SQL面试题-meta大数据面试SQL-计算每个用户的受欢迎程度
其他常见每年成绩都有所提升的学生一张学生成绩表(student_scores),有year-学年,subject-课程,student-学生,score-分数这四个字段,请完成如下问题:问题1:每年每门学科排名第一的学生.问题2:每年总成绩都有所提升的学生SQL面试题-常见大数据面试SQL-每年成绩都有所提升的学生
其他常见连续点击三次用户有用户点击日志记录表 t_click_log,包含user_id(用户ID),click_time(点击时间),请查询出连续点击三次的用户数,连续点击三次:指点击记录中同一用户连续点击,中间无其他用户点击;SQL面试题-常见大数据面试SQL-连续点击三次用户
其他常见去掉最大最小值的部门平均薪水有员工薪资表t_salary,包含员工ID(emp_id),部门ID(depart_id),薪水(salary),请计算去除最高最低薪资后的平均薪水;(每个部门员工数不少于3人)SQL面试题-常见大数据面试SQL-去掉最大最小值的部门平均薪水
其他常见当前活跃用户连续活跃天数有用户登录日志表,包含日期、用户ID,当天是否登录,请查询出当天活跃的用户当前连续活跃天数SQL面试题-常见大数据面试SQL-当前活跃用户连续活跃天数
其他常见销售额连续3天增长的商户有一张订单记录表 t_order 包含 订单ID(order_id),商户ID(shop_id),订单时间(order_time)和订单金额(order_amt),请查询出过去至少存在3天销售额连续增长的商户SQL面试题-常见大数据面试SQL-销售额连续3天增长的商户
其他常见不及格课程数大于2的学生的平均成绩及其排名有学生每科科目成绩,求不及格课程数大于2的学生的平均成绩及其成绩平均值后所在的排名。SQL面试题-常见大数据面试SQL-不及格课程数大于2的学生的平均成绩及其排名
其他常见计算次日留存率现有用户登录记录表,已经按照用户日期进行去重处理。以用户登录的最早日期作为新增日期,请计算次日留存率是多少SQL面试题-常见大数据面试SQL-计算次日留存率
其他常见按照顺序进行行转列拼接已知有表中含有两列数据id,val,数据内容如下,请按照id的大小将val进行拼接。SQL面试题-常见大数据面试SQL-按照顺序进行行转列拼接
其他常见所有考试科目的成绩都大于对应学科平均成绩的学生有学生每科科目成绩,找出所有科目成绩都大于对应学科的平均成绩的学生SQL面试题-常见大数据面试SQL-所有考试科目的成绩都大于对应学科平均成绩的学生
其他常见用户行为路径分析有一张用户操作行为记录表 t_act_log 包含用户ID(user_id),操作编号(op_id),操作时间(op_time)要求:统计每天符合以下条件的用户数:A操作之后是B操作,AB操作必须相邻;统计每天用户行为序列为A-B-D的用户数;其中:A-B之间可以有任何其他浏览记录(如C,E等),B-D之间除了C记录可以有任何其他浏览记录(如A,E等)SQL面试题-常见大数据面试SQL-用户行为路径分析

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;