简述什么是oracle的窗口函数

 我来答
cy1778
2017-04-04 · TA获得超过499个赞
知道小有建树答主
回答量:514
采纳率:0%
帮助的人:425万
展开全部
窗口函数可以计算一定 记录范围内、一定值域内、或者一段时间内的累计和以及移动平均值等等.之所以使用窗口这个术语,是因为对结果的处理使用了一个滑动的查询结果集范围。
爱可生云数据库
2021-01-05 · MySQL开源数据库领先者
爱可生云数据库
爱可生,金融级开源数据库和数据云服务整体解决方案提供商;优秀的开源数据库技术,企业级数据处理技术整体解决方案提供商;私有云数据库云服务市场整体解决方案提供商。
向TA提问
展开全部

通过举例,快速理解窗口函数。

2.1 举例

1)创建表 user,表 user 的数据如下

  • mysql> select * from user;+‐‐‐‐+‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐+| id | name | address | createtime |+‐‐‐‐+‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐+| 1 | aa | cun | 2020‐06‐01 00:00:00 || 2 | bb | cun | 2020‐06‐01 00:00:00 || 3 | bb | shi | 2020‐06‐01 01:00:00 || 4 | bb | shi | 2020‐06‐01 01:00:00 || 5 | cc | cun | 2020‐06‐01 01:00:00 || 6 | tt | cun | 2020‐06‐03 01:00:00 || 7 | eee | cun | 2020‐06‐04 01:00:00 || 8 | eee | cun | 2020‐06‐04 01:00:00 || 9 | xx | shen | 2020‐06‐02 01:00:00 |+‐‐‐‐+‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐+9 rows in set (0.00 sec)


  • 2)窗口函数的使用

  • SELECT createtime,row_number() over(order by createtime) AS crFROM user ;+‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐+‐‐‐‐+| createtime | ll |+‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐+‐‐‐‐+| 2020‐06‐01 00:00:00 | 1 || 2020‐06‐01 00:00:00 | 2 || 2020‐06‐01 01:00:00 | 3 || 2020‐06‐01 01:00:00 | 4 || 2020‐06‐01 01:00:00 | 5 || 2020‐06‐02 01:00:00 | 6 || 2020‐06‐03 01:00:00 | 7 || 2020‐06‐04 01:00:00 | 8 || 2020‐06‐04 01:00:00 | 9 | +‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐+‐‐‐‐+9 rows in set (0.00 sec)


  • row_number() over(order by createtime) as cr 这部分为窗口函数。over(order by createtime)为窗口规范,函数 row_number() 即对窗口的数据进行编号。所以上述 sql 的意思为:先对 createtime 进行排序,然后对每行数据进行编号。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式