在 sql 中,sum、count、avg等函数是常见的聚合函数,它们用于计算结果集中某个列的总和、计数和平均值。而使用这些聚合函数作为窗口函数时,它们会对窗口内的行进行计算,并返回结果作为每一行的一个列。
下面是一些常用的聚合类窗口函数及其简要介绍:
sum():计算指定列的总和。
示例:select sum(销售额) over (partition by 日期) from 销售表;
这将计算每个日期分区内的销售额总和。
count():计算指定列的行数(非空行)。
示例:select count(*) over (partition by 类别) from 商品表;
这将计算每个类别分区内的商品数量。
avg():计算指定列的平均值。
示例:select avg(评分) over () from 电影表;
这将计算整个电影表中评分的平均值。
max():计算指定列的最大值。
示例:select max(销售额) over (partition by 月份) from 销售表;
这将计算每个月份分区内的最高销售额。
min():计算指定列的最小值。
示例:select min(销售额) over () from 销售表;
这将计算整个销售表中销售额的最小值。
这些聚合类窗口函数可以根据具体需求在结果集内进行灵活的计算。它们可以与窗口定义语句(如partition by、order by等)一起使用,以便对特定分区或排序后的行进行聚合操作。