因为该列没有包含在聚合函数或 group by 子句中。_SQL 窗口函数

本文详细介绍了SQL窗口函数,包括窗口函数的概念、使用语法、专用窗口函数(如rank, dense_rank, row_number)与聚合窗口函数(如sum, avg, count等)的区别和应用场景。窗口函数在解决分组排序、排名问题以及移动计算中发挥重要作用,例如在实时分析处理、TOP N问题和累计求和等场景下。" 102818357,6766552,ACM-ICPC巴西区域赛编程竞赛题解解析,"['算法竞赛', '数据结构', '动态规划', '几何算法', '数学应用']
摘要由CSDN通过智能技术生成

d1f36758bbdf1681e54086e40845d3ad.png

13d5f2ba2b32067795a45d31828dca05.png

一.什么是窗口函数

窗口函数,也叫OLAP函数(Online Anallytical Processing,联机分析处理),可以对数据库数据进行实时分析处理。

二.窗口函数的使用

2.1窗口函数的基本语法如下

‹窗口函数› over (partition by ‹用于分组的列名› order by ‹用于排序的列名›)    

2.2 ‹窗口函数›的位置,可以放以下两种函数

  • 专用窗口函数,包括后面要讲到的rank, dense_rank, row_number等专用窗口函数。
  • 聚合函数,如sum. avg, count, max, min等

因为窗口函数是对where或者group by子句处理后的结果进行操作,所以窗口函数原则上只能写在select子句中

2.3 简单来说,窗口函数有以下功能:

  • 同时具有分组和排序的功能
  • 不减少原表的行数

三.专用窗口函数

3.1 各种专用窗口函数

rank()、dense_rank()、row_number()、...

在上述的这三个专用窗口函数中,函数后面的括号不需要任何参数,保持()空着就可以。

3.2 各种专用窗口函数的区别

35abb36ede783e5d28621e14ff09cbe7.png

这三个函数区别在于对排名并列情况的输出结果不同。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值