sql中开窗函数简单说明_sql窗口函数和开窗函数

sql中开窗函数简单说明_sql窗口函数和开窗函数SQL之开窗函数二1.使用开窗函数求移动平局值大家看股票的时候,经常会看到K线图,里面经常用到的5日、30日移动平均趋势图,那如何使用窗口函数求移动平均值呢(1)现有一张表Stock,求5日 移动平均值原表数据结构如下:&nbs

SQL之开窗函数二   1.使用开窗函数求移动平局值   大家看股票的时候,经常会看到K线图,里面经常用到的5日、30日移动平均趋势图,那如何使用窗口函数求移动平均值呢   
sql中开窗函数简单说明_sql窗口函数和开窗函数   (1)现有一张表Stock,求5日 移动平均值   原表数据结构如下:    
sql中开窗函数简单说明_sql窗口函数和开窗函数       查询5日平均价格语句:   select stockname ,TradingDate ,price ,avg(price) over(partition by stockname order by tradingdate rows between 4 preceding and current row) as fievedaysavgprice from Stock   结果如下:   
sql中开窗函数简单说明_sql窗口函数和开窗函数    语法总结:   sum(…A…) over(partition by …B… order by …C… rows between … D1… and …D2..)    avg(…A…) over(partition by …B… order by …C… rows between … D1… and …D2..)    A:需要被加工的字段名称   B:分组的字段名称   C:排序的字段名称   D:计算的行数范围   rows between unbounded prceding and current row –包括本行和之前所有的行   rows between current row and unbounded following –包括本行和之后所有的行   rows between 3 preceding and current row –包括本行以内和前三行   rows between 3 preceding and 1 following –从前三行到下一行 (5行)   2.分组排序窗口函数实际运用 ntile (n)over(……)   ntile(n) over(partition by …A… order by …B…)   n:切片的片数   A:分组的字段名称    B:排序的字段名称   ntile(n) :用于将分组数据按照顺序切分成n片,返回当前切片值   如果切片不均匀,默认增加到第一个切片的分布   例子:选出2021年退款金额排名前20%的用户    原数据表:user_refund   
sql中开窗函数简单说明_sql窗口函数和开窗函数       查询退款20%的语句:具体分析就是按照用户退款金额总数降序分成5组,取第一组的数据   select * from ( select [user_name] ,sum(refund_amount) as refund_amount ,ntile(5) over(order by sum(refund_amount) desc) as level from user_refund where year(refund_time)=2021 group by [user_name] ) as a where a.level=1   
sql中开窗函数简单说明_sql窗口函数和开窗函数    

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/87150.html

(0)
上一篇 2024年 7月 26日
下一篇 2024年 7月 26日

相关推荐

关注微信