SQL怎么查询连续上涨 N 次的记录


小编今天带大家了解SQL怎么查询连续上涨 N 次的记录,文中知识点介绍的非常详细。觉得有帮助的朋友可以跟着小编一起浏览文章的内容,希望能够帮助更多想解决这个问题的朋友找到问题的答案,下面跟着小编一起深入学习“SQL怎么查询连续上涨 N 次的记录”的知识吧。用SQL如何查询连续上涨N次的记录?这个问题用SQL来做很难!SQL的 香港云主机理论基础是无序集合,早期SQL也没有次序的概念,需要用JOIN造出次序,连续上涨这种问题就非常困难。后来在SQL2003标准中加入了窗口函数,一定程度地缓解了这个问题,但解决连续上涨问题仍然并不轻松。举个例子:查询连续n天上涨的股票,现有数据库表stock数据如下:如果查询连续3天上涨的股票,用SQL写出来是这样:WITH A AS (SELECT CODE,STOCKDATE,(CLOSE-LAG(CLOSE) OVER (PARTITION BY CODE ORDER BY STOCKDATE) )CLOSE_UP FROM STOCK),B AS (SELECT CODE, CASE WHEN CLOSE_UP>0 AND LAG(CLOSE_UP) OVER (PARTITION BY CODE ORDER BY STOCKDATE)>0 AND LAG(CLOSE_UP,2) OVER (PARTITION BY CODE ORDER BY STOCKDATE)>0 THEN 1 ELSE 0 END UPDAYS3 FROM A)SELECT DISTINCT CODE FROM B WHERE UPDAYS3=1这里把3天写死进去了,要查询连续5天就会更复杂, n天就不知道怎么写。对于这种有序的运算,如果使用集算器的SPL语言就会简单很多,只需2行代码:如果要查询n天,只要把A2中的5改成n即可。SPL基于有序集合实现,对有序计算的支持比较彻底,能清楚表述集合中任意位置的记录,通过绝对/相对位置定位,很容易计算股票每日涨跌。感谢大家的阅读,以上就是“SQL怎么查询连续上涨 N 次的记录”的全部内容了,学会的朋友赶紧操作起来吧。相信开发云小编一定会给大家带来更优质的文章。谢谢大家对开发云网站的支持!

相关推荐: C++ OpenCV视频操作之如何实现稠密光流对象跟踪

这篇文章主要介绍了C++ OpenCV视频操作之如何实现稠密光流对象跟踪,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。前言稠密光流算法(即图像上所有像素点的光流都计算出来),由于要计算图像上所有…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 10/19 17:09
下一篇 10/19 17:09

相关推荐