版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2026年腾讯数据分析师面试中的SQL窗口函数应用题型一:基础窗口函数应用(共3题,每题10分)题目1(10分):假设某电商平台有一个订单表`orders`,包含以下字段:-`order_id`(订单ID)-`user_id`(用户ID)-`order_date`(订单日期)-`amount`(订单金额)-`status`(订单状态,如'已支付'、'已取消'等)请用SQL查询每个订单的`amount`相对于当天的总订单金额的占比(百分比),并按`order_date`和`order_id`排序。要求使用窗口函数实现。题目2(10分):在`orders`表中,统计每个用户的累计订单金额,并按金额从高到低排名。如果金额相同,则按用户ID升序排名。请使用窗口函数实现。题目3(10分):在`orders`表中,找出每个用户最近一个月内的订单记录。假设当前日期为2026年10月26日,请用窗口函数计算每个用户的最近订单日期,并筛选出最近一个月的订单。题型二:复杂窗口函数组合应用(共2题,每题15分)题目4(15分):假设有一个销售表`sales`,包含以下字段:-`sale_id`(销售ID)-`product_id`(产品ID)-`region`(销售地区)-`sale_date`(销售日期)-`quantity`(销售数量)请用SQL查询每个地区每个产品的累计销售数量,并计算每个产品在每个地区的销售占比(相对于该地区的总销售数量)。要求使用窗口函数实现,并按地区和产品ID排序。题目5(15分):在`sales`表中,统计每个地区的销售数据,要求:1.计算每个地区的总销售数量。2.找出每个地区销售数量最高的产品。3.如果有多个产品销售数量相同,则选择产品ID最小的那个。请用窗口函数实现,并输出地区、产品ID和销售数量。题型三:实战场景窗口函数应用(共2题,每题20分)题目6(20分):假设有一个用户行为表`user_actions`,包含以下字段:-`action_id`(行为ID)-`user_id`(用户ID)-`action_type`(行为类型,如'浏览'、'点击'、'购买'等)-`action_time`(行为时间)-`device_type`(设备类型,如'手机'、'电脑'等)请用SQL查询每个用户的最近3次行为记录,并按行为时间降序排列。要求使用窗口函数实现,并输出行为ID、用户ID、行为类型和时间。题目7(20分):假设有一个员工表`employees`,包含以下字段:-`employee_id`(员工ID)-`department`(部门)-`salary`(薪资)-`join_date`(入职日期)请用SQL查询每个部门的员工薪资排名,并计算每个员工的薪资相对于部门平均薪资的偏差(百分比)。要求使用窗口函数实现,并按部门升序、薪资降序排列。题型四:窗口函数与条件聚合(共1题,25分)题目8(25分):假设有一个电商订单表`orders`,包含以下字段:-`order_id`(订单ID)-`user_id`(用户ID)-`order_date`(订单日期)-`amount`(订单金额)-`status`(订单状态,如'已支付'、'已取消'等)请用SQL查询每个用户的“活跃度”指标,定义如下:1.活跃度=用户最近30天内订单金额总和/用户历史订单金额总和。2.仅统计“已支付”的订单。3.如果用户历史订单金额为0,则活跃度为0。要求使用窗口函数实现,并按用户ID排序。答案与解析题型一:基础窗口函数应用题目1(10分):sqlSELECTorder_id,order_date,amount,(amount/SUM(amount)OVER(PARTITIONBYorder_date))100ASpercentageFROMordersORDERBYorder_date,order_id;解析:-`PARTITIONBYorder_date`将数据按日期分组,计算每日总订单金额。-`SUM(amount)OVER(...)`计算每个分组的总金额。-`(amount/SUM(amount)OVER(...))100`计算每个订单金额的占比。题目2(10分):sqlSELECTuser_id,amount,RANK()OVER(PARTITIONBYuser_idORDERBYamountDESC,user_idASC)ASrankFROMorders;解析:-`PARTITIONBYuser_id`将数据按用户分组。-`RANK()OVER(...)`按金额降序、用户ID升序排名。题目3(10分):sqlSELECTorder_id,user_id,order_date,amountFROM(SELECT,MAX(order_date)OVER(PARTITIONBYuser_idORDERBYorder_dateDESC)ASlatest_order_date,CURRENT_DATE-INTERVAL'1MONTH'ASone_month_agoFROMordersWHEREstatus='已支付')ASsubWHEREorder_date>=one_month_agoANDorder_date<=latest_order_date;解析:-`MAX(order_date)OVER(PARTITIONBYuser_id)`计算每个用户的最近订单日期。-`CURRENT_DATE-INTERVAL'1MONTH'`定义时间范围。-外层查询筛选最近一个月的订单。题型二:复杂窗口函数组合应用题目4(15分):sqlSELECTregion,product_id,quantity,(quantity/SUM(quantity)OVER(PARTITIONBYregion))100ASpercentageFROM(SELECTregion,product_id,SUM(quantity)ASquantityFROMsalesGROUPBYregion,product_id)ASsubORDERBYregion,product_id;解析:-内层查询计算每个地区每个产品的销售总量。-外层查询计算每个产品的销售占比。题目5(15分):sqlSELECTregion,product_id,quantityFROM(SELECTregion,product_id,quantity,RANK()OVER(PARTITIONBYregionORDERBYquantityDESC,product_idASC)ASrankFROM(SELECTregion,product_id,SUM(quantity)ASquantityFROMsalesGROUPBYregion,product_id)ASsub)ASsub2WHERErank=1;解析:-内层查询计算每个地区每个产品的销售总量。-中间层查询按地区和产品ID排名。-外层查询筛选排名最高的产品。题型三:实战场景窗口函数应用题目6(20分):sqlSELECTaction_id,user_id,action_type,action_timeFROM(SELECT,COUNT()OVER(PARTITIONBYuser_idORDERBYaction_timeDESCROWSBETWEEN3PRECEDINGANDCURRENTROW)ASrecent_countFROMuser_actions)ASsubWHERErecent_count=3ORDERBYaction_timeDESC;解析:-`PARTITIONBYuser_id`按用户分组。-`ROWSBETWEEN3PRECEDINGANDCURRENTROW`窗口范围限定最近3次行为。-外层查询筛选最近3次行为的记录。题目7(20分):sqlSELECTemployee_id,department,salary,RANK()OVER(PARTITIONBYdepartmentORDERBYsalaryDESC)ASsalary_rank,(salary-AVG(salary)OVER(PARTITIONBYdepartment))/AVG(salary)OVER(PARTITIONBYdepartment)ASdeviationFROMemployeesORDERBYdepartmentASC,salaryDESC;解析:-`RANK()OVER(PARTITIONBYdepartment)`计算部门内薪资排名。-`AVG(salary)OVER(PARTITIONBYdepartment)`计算部门平均薪资。-`deviation`计算薪资偏差。题型四:窗口函数与条件聚合题目8(25分):sqlSELECTuser_id,SUM(amount)FILTER(WHEREstatus='已支付')OVER(PARTITIONBYuser_id)ASrecent_30_days_amount,SUM(amount)OVER(PARTITIONBYuser_id)AStotal_amount,CASEWHENSUM(amount)OVER(PARTITIONBYuser_id)>0THEN(SUM(amount)FILTER(WHEREstatus='已支付')OVER(PARTITIONBYuser_id)/SUM(amount)OVER(PARTITIONBYuser_id))ELSE0ENDASactivity_scoreFROMordersWHEREorder
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 闽西职业技术学院《文化学概论》2025-2026学年期末试卷
- 厦门海洋职业技术学院《当代英国概况》2025-2026学年期末试卷
- 长春工业大学人文信息学院《结构生物学》2025-2026学年期末试卷
- 厦门南洋职业学院《跨国公司经营与管理》2025-2026学年期末试卷
- 奥乐齐异业合作模式
- 2026年苏教版小学六年级数学上册小升初期中卷含答案
- 2026年人教版小学五年级语文上册议论文中心论点寻找卷含答案
- 深度解析(2026)《GBT 4169.20-2006塑料注射模零件 第20部分拉杆导柱》
- 2026年人教版小学六年级数学下册比例尺实际应用题卷含答案
- 深度解析(2026)《GBT 3836.24-2017爆炸性环境 第24部分:由特殊型“s”保护的设备》
- 2025年凉山州公需科目考试试题及答案
- 五类人员笔试真题及答案
- 幼儿园小班数学活动《敲门声》课件
- 湖北烟草招聘面试全攻略:面试技巧与题目解析
- 桥式起重机安全检查表
- 2025年全国行政执法人员执法资格考试必考题库及答案
- 留样样品管理办法
- 部队个人简历模版
- 2025年工作票三种人培训
- 药品进货查验管理制度
- 乡镇医院科研管理制度
评论
0/150
提交评论