日期:2014-05-18 浏览次数:20580 次
--举个例子 select 1.0*sum(case when dt>='2011-7-1' and dt<'2011-9-1' then data end)/ sum(case when dt>='2011-5-1' and dt<'2011-7-1' then data end) from tb --另外建议如果表中是很多数据,建议先生成每月汇总数据的临时表,否则直接查询效率会很慢
------解决方案--------------------
用dateadd()函数
如:1--3月的环比
就是dateadd(m,-3,time),dateadd(m,-3-3,time)
就是向前再算多少个月就可以了
------解决方案--------------------
你可以设置个开始日期,结束日期,然后通过日期函数来得到上一区间的开始日期,结束日期。
比如:
本区间开始日期2011-10-01,结束日期2011-12-31。
那么上一区间开始日期DataAdd(month,-3,'2011-10-01')='2011-07-01'
上一区间结束日期DataAdd(month,-3,'2011-12-31')='2011-09-30'