各位做数据分析、开发的朋友们,咱们今天聊个在SQL里超实用,但又让不少新手头疼的知识点——窗口函数里的ROW_NUMBER、RANK、DENSE_RANK。很多人第一次见这仨函数,看着名字差不多,用起来却总出岔子,要么排出来的序号不对,要么遇到并列数据就懵圈。今天我就用大白话,带大家把这三个函数掰扯明白,保证3分钟就能分清,以后写SQL再也不踩坑。
首先,咱们得先搞懂一个基础:什么是窗口函数?和咱们平时用的SUM、AVG这些聚合函数不一样,聚合函数是把一堆数据“揉”成一个数,比如求全班同学的平均分,最后就一个结果;而窗口函数呢,是在不改变原表行数的前提下,给每一行数据都生成一个“计算值”,相当于给数据开了一扇“小窗户”,咱们只在窗户里做计算,窗外的数据一概不影响。
此文由 怡心湖 编辑,若您觉得有益,欢迎分享转发!:首页 > 会·生活 » 3分钟吃透SQL窗口函数三剑客:ROW_NUMBER/RANK/DENSE_RANK