我是靠谱客的博主 犹豫月饼,最近开发中收集的这篇文章主要介绍sql05(11.25-11.26),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、关键点

1、窗口函数可以分为两类。

一是 将SUM、MAX、MIN等聚合函数用在窗口函数中

二是 RANK、DENSE_RANK等排序用的专用窗口函数

专用窗口函数

  • RANK函数

计算排序时,如果存在相同位次的记录,则会跳过之后的位次。

例)有 3 条记录排在第 1 位时:1 位、1 位、1 位、4 位……

  • DENSE_RANK函数

同样是计算排序,即使存在相同位次的记录,也不会跳过之后的位次。

例)有 3 条记录排在第 1 位时:1 位、1 位、1 位、2 位……

  • ROW_NUMBER函数

赋予唯一的连续位次。

2、原则上,窗口函数只能在SELECT子句中使用。窗口函数OVER 中的ORDER BY 子句并不会影响最终结果的排序。其只是用来决定窗口函数按何种顺序计算。

二、练习

5.1 可以进行移动搜索,得到当前的最大商品价格。

5.2

SELECT  product_id
       ,product_name
       ,regist_date
       ,sale_price
       ,SUM(sale_price) OVER (
       partition by regist_date
       ORDER BY regist_date ) AS sum_price
  FROM product

5.3.1

就不会进行窗口划分,整个表进行直接的排序和计算。

5.3.2

因为order by是最后执行的。

最后

以上就是犹豫月饼为你收集整理的sql05(11.25-11.26)的全部内容,希望文章能够帮你解决sql05(11.25-11.26)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部