网站开发承包合同浙江省建设工程造价信息网
2026/2/22 15:25:23 网站建设 项目流程
网站开发承包合同,浙江省建设工程造价信息网,dede网站怎么做404页面,帝国 网站搬家好#xff0c;这个题目非常偏“进阶 SQL 面试/实战”#xff0c;我就直接给你一份能抄走用、也能讲给面试官听的《SQL 窗口函数实践笔记》。 不灌水#xff0c;**以“为什么 → 怎么写 → 什么时候用”**为主。 SQL 窗口函数实践笔记#xff08;Window Functions#xff…好这个题目非常偏“进阶 SQL 面试/实战”我就直接给你一份能抄走用、也能讲给面试官听的《SQL 窗口函数实践笔记》。不灌水**以“为什么 → 怎么写 → 什么时候用”**为主。SQL 窗口函数实践笔记Window Functions一、为什么要用窗口函数一句话概括窗口函数 在“不减少行数”的前提下做统计分析对比一下 传统 GROUP BY 的问题SELECTdept,AVG(salary)FROMempGROUPBYdept;会丢行不能看到“每个人 部门平均值”窗口函数能做到什么SELECTname,dept,salary,AVG(salary)OVER(PARTITIONBYdept)ASdept_avgFROMemp;✅ 行不丢✅ 统计结果“贴”在每一行上二、窗口函数的基本语法核心函数名(...)OVER(PARTITIONBY...ORDERBY...ROWS/RANGE...)子句作用PARTITION BY分组逻辑分组不合并行ORDER BY窗口内排序ROWS / RANGE窗口范围三、常用窗口函数分类1️⃣ 聚合类窗口函数示例部门平均工资AVG(salary)OVER(PARTITIONBYdept)常见函数SUM()AVG()COUNT()MAX()MIN()区别于 GROUP BY不合并行2️⃣ 排名类窗口函数高频ROW_NUMBER不并列ROW_NUMBER()OVER(PARTITIONBYdeptORDERBYsalaryDESC)RANK并列跳号RANK()OVER(ORDERBYscoreDESC)DENSE_RANK并列不跳号DENSE_RANK()OVER(ORDERBYscoreDESC)分数RANKDENSE_RANK100119022902280433️⃣ 偏移函数分析神器LAG / LEADLAG(salary,1)OVER(ORDERBYmonth) 取“上一行 / 下一行”的值常见场景环比同比增长率4️⃣ 分布类函数了解NTILE(n)分桶PERCENT_RANK()CUME_DIST()四、窗口范围ROWS vs RANGE1️⃣ ROWS基于行ROWSBETWEEN2PRECEDINGANDCURRENTROW精确推荐使用2️⃣ RANGE基于值RANGEBETWEENUNBOUNDEDPRECEDINGANDCURRENTROW可能包含多行小心重复值实战建议优先 ROWS五、实战案例直接可用1️⃣ 每个部门工资排名 Top 3SELECT*FROM(SELECTname,dept,salary,ROW_NUMBER()OVER(PARTITIONBYdeptORDERBYsalaryDESC)ASrnFROMemp)tWHERErn3; 面试必会2️⃣ 计算工资环比增长SELECTmonth,salary,salary-LAG(salary)OVER(ORDERBYmonth)ASdiffFROMemp_salary;3️⃣ 累计求和SUM(sales)OVER(ORDERBYdayROWSBETWEENUNBOUNDEDPRECEDINGANDCURRENTROW)AStotal_sales4️⃣ 去重保留最新一条SELECT*FROM(SELECT*,ROW_NUMBER()OVER(PARTITIONBYuser_idORDERBYupdate_timeDESC)rnFROMuser_log)tWHERErn1;六、窗口函数执行顺序面试点SQL 执行顺序简化FROM → WHERE → GROUP BY → HAVING → SELECT → WINDOW FUNCTION → ORDER BY 窗口函数不能写在 WHERE 中七、性能 实战注意点窗口函数 ≠ 免费PARTITION BY可能导致排序大表务必控制窗口范围合理加索引order by 字段八、MySQL / PostgreSQL / Oracle 支持情况MySQL8.0PostgreSQL强最早支持Oracle成熟九、面试一句话总结窗口函数用于在不合并结果行的情况下进行排序、排名和统计分析是分析型 SQL 的核心能力常用于 TopN、环比、累计值等场景。十、速记口诀很有用GROUP BY 会合并行窗口函数不合并排名用 ROW_NUMBER分析用 LAG/LEAD。如果你愿意我可以下一步直接帮你 SQL 窗口函数面试 10 连问 MySQL 窗口函数执行计划分析 窗口函数 vs 子查询 vs Join 对比 实际业务场景建模报表 / BI你是数据分析 / 后端开发 / 面试准备哪个方向

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询