窗口函数和聚合函数的区别

窗口函数聚合函数在SQL查询中扮演着不同的角色,它们的主要区别在于处理数据的方式和返回的结果。12

  • 聚合函数是将多条记录聚合为一条数据。它们通常用于对一组值进行计算,并返回计算后的单个值。聚合函数包括求和(SUM)、求平均数(AVG)、求最大值(MAX)、求最小值(MIN)以及计数(COUNT)等。聚合函数的结果是对一组数据进行汇总后的单一输出,且除了COUNT外,聚合函数会忽略空值。聚合函数经常与SELECT语句的GROUP BY子句一同使用,以按指定的列对数据进行分组后进行聚合计算。

  • 窗口函数则是每条记录都会执行,有多少条数据还会返回多少条数据。窗口函数兼具分组和排序的两种功能,但不具备汇总功能。窗口函数可以在原表上增加字段,并在新字段上显示结果,为每一行数据都返回一个结果。窗口函数不会改变原始数据的行数,而是在每行数据上应用计算或排名等操作。常见的窗口函数包括RANKDENSE_RANK、ROW_NUMBER等,这些函数用于在分组内进行排名或计算累计值等。

总的来说,聚合函数用于对数据进行汇总,返回单个聚合值;而窗口函数则用于在每行数据上执行计算或排名等操作,返回与原始数据行数相同的结果集。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值