⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

SQL 窗口函数进阶

SQL窗口函数进阶:FIRST_VALUE/LAST_VALUE/NTH_VALUE位置窗口、PERCENT_RANK/CUME_DIST分布窗口、窗口帧ROWS/RANGE/GROUPS精确控制、命名窗口WINDOW子句 · 难度:入门 · +10XP

SQL 窗口函数进阶 —— 排名、偏移、累积

窗口函数(Window Functions)在保留所有行的同时做分组计算。它们不折叠行,比GROUP BY灵活得多。

排名函数

SELECT name, score,
  ROW_NUMBER() OVER (ORDER BY score DESC) AS 行号,
  RANK() OVER (ORDER BY score DESC) AS 排名,
  DENSE_RANK() OVER (ORDER BY score DESC) AS 密集排名,
  NTILE(4) OVER (ORDER BY score DESC) AS 四分位
FROM students;

偏移函数

SELECT date, revenue,
  LAG(revenue, 1) OVER (ORDER BY date) AS 昨日收入,
  LEAD(revenue, 1) OVER (ORDER BY date) AS 明日收入,
  revenue - LAG(revenue, 1) OVER (ORDER BY date) AS 环比变化
FROM daily_sales;

动手练习

  1. 基础练习:为销售数据添加排名和环比变化列。
  2. 进阶应用:用窗口函数计算7天移动平均。
  3. 项目实战:在报表中用窗口函数替代复杂的子查询。
Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 146 篇
0 完成
🔥 0