标签:查看 not max sign int border ble sel upd
摘要:求最大的连续数
原理:同属性的序列差等值,由等差序列派生。
详细描述:
1、首先看下表结构
字段说明:serial_no 根据月份派生的连续号;city:城市;YM:YYYYMM格式的月份;price:当月价格;previous_price:上月价格;link_ratio:价格环比{(当月价格-上月价格)/上月价格}
2、计算过程
为计算方便,我们可以根据价格环比值派生出字段(ratio_sign,int,价格环比是增长还是下降)的值。update?[TB_CITY_PRICE] set?ratio_sign=sign(link_ratio),这样,ratio_sign属性值中,1为增长,-1为下降;
然后根据连续号serial_no 和ratio_sign,计算哪些月份是连续的。
alter table?TB_CITY_PRICE add?serial_up_value int; --连续增长值
最后查看结果
select ?serial_no,* from [dbo].[TB_CITY_PRICE] where is_max_up_follow is not null ?order by YM option(fast 1)
从计算结构可以看出来,价格从2009年5月连续增长4个月。
标签:查看 not max sign int border ble sel upd
原文地址:https://www.cnblogs.com/petewell/p/11526630.html