SQL 开窗函数:range和rows的区别


range基于order by的值计算,如图一,order by的值为20190101

rows基于order by排好的顺序的行计算,如图二,计算排序后的行

range可应用于订单日期

rows可应用于订单笔数

图一

注意:第一个窗口第2行金额425的时间计算范围是:20190101~20190103,共四笔订单金额的均值(不是3笔)

           第二个窗口第1行金额550的时间计算范围,理论是20190102~20190104,但该窗口下无20190102订单(虽然在第一个窗口有20190102的订单),故实际计算20190103~20190104共两笔订单金额的均值

 

图二

 

 

 

 其他参考:

SQL Server Windowing Functions: ROWS vs. RANGE – SQLpassion


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM