当前位置: 首页 > news >正文

【窗口函数】ROWS_NUMBER练习题

订单表TOP商品+渠道TOP2窗口函数练习题

一、需求拆解

  1. 先按商品product_id分组,统计每个商品总订单量sum(amount),筛选总订单量前4的商品;
  2. 针对筛选出的4个商品,按product_id分区,对每个渠道的订单量排名,取每个商品渠道排名前2的渠道;
  3. 使用ROW_NUMBER()/RANK()做分组排名,窗口函数结果需嵌套子查询过滤。

二、原始数据表 orders

Oidproduct_idchannelamount
11直播2
24主页3
38搜索1
410其他7
51商品页9
64直播1
72主页3
83商品页2
97直播2
109搜索1
115直播2
121其他8

三、建表与测试数据(MySQL)

CREATETABLEorders(OidINTCOMMENT'订单ID',product_idINTCOMMENT'商品ID',channelVARCHAR(20)COMMENT'销售渠道',amountINTCOMMENT'订单量')ENGINE=InnoDBDEFAULTCHARSET=utf8mb4;INSERTINTOorders(Oid,product_id,channel,amount)VALUES(1,1,'直播',2),(2,4,'主页',3),(3,8,'搜索',1),(4,10,'其他',7),(5,1,'商品页',9),(6,4,'直播',1),(7,2,'主页',3),(8,3,'商品页',2),(9,7,'直播',2),(10,9,'搜索',1),(11,5,'直播',2),(12,1,'其他',8);
selecttem.product_id,res.channelfrom(selectproduct_id,sum(amount)asamountsfromorders ogroupbyproduct_idorderbyamountsdesclimit4)temleftJOIN(selectproduct_id,channel,ROW_NUMBER()over(PARTITIONbyproduct_idORDERBYamountdesc)asrank_idfromorders)resonres.product_id=tem.product_idwhereres.rank_id<=2

运行结果

http://www.jsqmd.com/news/1106874/

相关文章:

  • 别再忽视文档了:用AI知识管理实现同源多站发布,降低成本提升信任
  • 看门狗定时器WDT讲解
  • 重庆綦江家具行业的人才培养之道:以专业赋能,铸就本土服务标杆
  • Windows 11系统精简终极指南:使用tiny11builder让旧电脑焕发新生
  • 实验结果“看天吃饭”?抗体批间差异的根源剖析
  • 居民社区小程序积分系统模板分享
  • KLayout完整指南:如何免费打造专业级版图设计流程
  • Shell脚本精读 · S06-03 | 条件与控制流综合:读 30 行脚本的判断链
  • python Flask开发基础教程
  • Phalcon Compliance:高性能链上合规引擎,守护 Web3 的信任与增长
  • 2026 年目前哪个 GEO 优化系统功能最全面?
  • 一个没做安全防护的IoT设备,被客户骂了一下午
  • Diablo Edit2:5大核心技术突破重塑暗黑破坏神II角色编辑体验
  • 终极跨平台B站观影指南:让你的游戏机变身视频中心
  • 洛谷-P11403 [RMI 2020] 软盘 / Floppy 题解
  • 高光谱相机全解析:技术分类、主流品牌与选型指南
  • 连锁超市收银系统选什么?四大品牌深度横评与避坑指南
  • Java Stream、File与IO-核心场景实战
  • NifSkope 3D模型编辑器:专业游戏模型处理完全指南
  • 国内物流包装垂直随机振动试验优先选用 GB/T 4857.23-2021 附录 D 说明
  • 【课程设计/毕业设计】基于 SpringBoot 的校园日常行为规范评分归档系统的设计与实现 基于 SpringBoot 的中小学学生品行综合考评管理系统【附源码、数据库、万字文档】
  • 越华环保集团资质元数据治理体系与项目准入校验架构设计
  • 第一章Netty,Selector写入内容过多问题
  • 4-20mA电流环接收器设计与STM32高精度ADC实现
  • .net环境下跨进程、高频率读写数据
  • Windows系统文件AutomaticAppSignInPolicy.dll丢失找不到问题解决
  • React Native 0.86 亮点速览:边到边修复、DevTools 深色模拟、JSI 再增强
  • 技术人转型项目管理:30岁前后如何用PMP完成思维切换
  • 当下游master被污染后,如何与上游master进行同步
  • 计算机Java毕设实战-基于 SpringBoot 的中小学学生德育行为考评系统的设计与实现【完整源码+LW+部署说明+演示视频,全bao一条龙等】