Oracle 的函数用得溜,能少写不少复杂查询。

比如你想在一堆数据里搞排名、做累加、前后比对,那这些函数就合适。像 RANK()ROW_NUMBER()LAG() 这些,用过你就知道,写起来顺手,响应也快。

文档里分得挺清楚:排名函数搞排序定位,窗口函数负责聚合,首尾函数能查前后,NTILE()这种还能平均分段,逻辑清楚,例子也比较实在。

平时像找每个部门工资最高的前三名?直接套个 RANK() OVER (PARTITION BY),简单明了。不用绕来绕去做子查询,写出来的 SQL 也挺清爽。

哦对,OVER()子句要掌握清楚,它是整个函数的核心,什么 PARTITION BYORDER BYROWS BETWEEN 都靠它挂载。

如果你之前用 MySQL 的窗口函数,那看 Oracle 的这一套上手不会太难,语法风格差不多,思路通了就能举一反三。

建议收藏这个资源,有函数分类、有语法、有例子,适合平时查漏补缺。尤其你写报表或复杂统计 SQL 时,绝对帮得上忙。