登录
首页大数据时代SQL:窗口函数的简介和分类
SQL:窗口函数的简介和分类
2020-06-29
收藏

函数大家都知道,那么窗口函数呢?窗口是标准的SQL术语,用来描述SQL语句内OVER子句划定的内容,这个内容就是窗口函数的作用域。下面就跟小编一起来看窗口函数的具体内容吧。

窗口函数SQL 中一类特别的函数,与聚合函数相似,多用于计算基于组的某种聚合值,但不同于常规的聚合函数,窗口函数的输入是多行记录,对于每个组返回多行,通常用于解决复杂报表统计需求,是一款功能强大的函数。

一般来说,窗口函数可以划分为排名函数、分布函数、偏移函数等。

排名函数:根据SQL标准能够支持4种窗口函数用于排名计算。

ROW_NUMBER:根据指定的顺序,从1开始计算连续的行号。

NTILE:函数对一个数据分区中的有序结果集进行划分,将其分成数量大致相等的块,根据输入的块数和指定的窗口进行排序。

RANK与DENSE_RANK:计算一组数值中的排序值

分布函数:分布函数主要作用是为静态统计服务提供数据的分布情况。

排名分布函数有两种:PERCENT_RANK(百分位排名)和CUME_DIST(累积分布)

逆分布函数也有两个:PERCENT_CONT(百分位连续)和PERCENTILE_DISC(百分位离散)

LAG和LEAD:偏移量函数,根据给定的相对于当前行的前偏移量(LAG)和后偏移量(LEAD),能够计算出一个字段的上一个值或者下一个值。

FIRST_VALUE和FIRST_VALUE:FIRST_VALUE返回一组排序值后的第一个值,LAST_VALUE返回一组排序值后的最后一个值。

数据分析咨询请扫描二维码

客服在线
立即咨询