环比的概念就是 这个区间的数据与上个区间的数据之比
比如 今年7--8月份的数据 环比就是 与5--6月的数据相比
现在有以下的问题
1:查了一下 没找到sqlserver计算月份的函数 
2:如果是1--3月的环比 就应该与去年的10--12月数据做比较 这种月份日期的计算 sqlserver有没有相应的函数?

解决方案 »

  1.   


    --举个例子
    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--另外建议如果表中是很多数据,建议先生成每月汇总数据的临时表,否则直接查询效率会很慢
      

  2.   

    用dateadd()函数如:1--3月的环比
    就是dateadd(m,-3,time),dateadd(m,-3-3,time)
    就是向前再算多少个月就可以了
      

  3.   

    你可以设置个开始日期,结束日期,然后通过日期函数来得到上一区间的开始日期,结束日期。
    比如:
    本区间开始日期2011-10-01,结束日期2011-12-31。
    那么上一区间开始日期DataAdd(month,-3,'2011-10-01')='2011-07-01'
    上一区间结束日期DataAdd(month,-3,'2011-12-31')='2011-09-30'