专栏名称: 爱数据LoveData
中国统计网(www.itongji.cn),国内最大的数据分析门户网站。提供数据分析行业资讯,统计百科知识、数据分析、商业智能(BI)、数据挖掘技术,Excel、SPSS、SAS、R等数据分析软件等在线学习平台。
目录
相关文章推荐
51好读  ›  专栏  ›  爱数据LoveData

SQL干货 I 你可能不知道的窗口函数!

爱数据LoveData  · 公众号  · BI  · 2019-05-21 15:30

正文

请到「今天看啥」查看全文


shopname ,sales , date , avg (sales) over ( partition by shopname) from t


最后结果如下所示:


shopname  sales  date      avg_window_0A         1      2018/4/1  4B         3      2018/4/1  6C         5      2018/4/1  5A         7      2018/4/2  4B         9      2018/4/2  6C         2      2018/4/2  5A         4      2018/4/3  4B         6      2018/4/3  6C         8      2018/4/3  5


04 order by子句


order by 就是按照某一列数值进行排序,主要与接下来的序列函数结合使用,当 order by 与聚合函数一起使用时,是顺序聚合的。什么叫顺序聚合呢?给大家举一个求和的聚合与 order by 结合使用的例子,就是 类似于累计和的效果 ,具体代码如下:


select    shopname    ,sales    ,date    ,sum(sales) over(partition by shopname order by date)from    t


最后运行结果如下:


shopname  sales  date      sum_window_0A         1      2018/4/1  1A         7      2018/4/2  8A         4      2018/4/3  12B         3      2018/4/1  3B         9      2018/4/2  12B         6      2018/4/3  18C         5      2018/4/1  5C         2      2018/4/2  7C         8      2018/4/3  15


当 order by 与序列函数一起使用时就是用于排序。


05 序列函数


什么是序列函数,就是可以将数据整理成一个有序的序列,然后我们可以在这个序列里面挑选我们想要的序列对应的数据。


5.1 ntile

ntile 函数主要是用于将整表数据进行切片分组,默认是对表在不做任何操作之前进行切片分组的,比如现在整个表有9行数据,你要切片分成3组,那么就是第 1-3 行为一组,4-6 行为一组,7-9 行为一组。我们将店铺销量表切分成3组,代码如下:


select    shopname    ,date






请到「今天看啥」查看全文