我有一个存储股票每日价格的 sql 表。每天收市后都会插入新记录。我想找到价格连续上涨的股票。
该表有很多列,但这是相关的子集:
quoteid stockid closeprice createdate
--------------------------------------------------
1 1 1 01/01/2012
2 2 10 01/01/2012
3 3 15 01/01/2012
4 1 2 01/02/2012
5 2 11 01/02/2012
6 3 13 01/02/2012
7 1 5 01/03/2012
8 2 13 01/03/2012
9 3 17 01/03/2012
10 1 7 01/04/2012
11 2 14 01/04/2012
12 3 18 01/04/2012
13 1 9 01/05/2012
14 2 11 01/05/2012
15 3 10 01/05/2012
该quoteid
列是主键。
在表中,股票 id 1 的收盘价每天都在上涨。股票 id 3 波动很大,股票 id 2 的价格在最后一天下跌。
我正在寻找这样的结果:
stockid Consecutive Count (CC)
----------------------------------
1 5
2 4
如果你能得到连续连胜的日期输出,那就更好了:
stockid Consecutive Count (CC) StartDate EndDate
---------------------------------------------------------------
1 5 01/01/2012 01/05/2012
2 4 01/01/2012 01/04/2012
StartDate
是价格开始上涨EndDate
的时间,也是牛市实际结束的时间。
我认为这不是一个容易的问题。我在这里查看了其他帖子,这些帖子也处理了这种连续场景,但它们不符合我的需求。如果您知道任何与我相似的帖子,请告诉我。