select case 
 when  进货时间>='2002-1-1' and  进货时间<'2002-2-1' then '一月份'
 when  进货时间>='2002-2-1' and  进货时间<'2002-3-1' then '二月份'
 ...
 when  进货时间>='2002-12-1' and  进货时间<'2003-1-1' then '十二月份'
 end as 月份,sum(商品进货) as 进货数量
from tablename
group by 
case 
 when  进货时间>='2002-1-1' and  进货时间<'2002-2-1' then '一月份'
 when  进货时间>='2002-2-1' and  进货时间<'2002-3-1' then '二月份'
 ...
 when  进货时间>='2002-12-1' and  进货时间<'2003-1-1' then '十二月份'
 end

解决方案 »

  1.   

    select datepart(mouth,进货时间)as 月份,sum(商品进货) as 进货数量
    from 表
    group by datepart(mouth,进货时间)
      

  2.   

    更正:
    select case 
     when  进货时间>='2002-1-1' and  进货时间<'2002-2-1' then '一月份'
     when  进货时间>='2002-2-1' and  进货时间<'2002-3-1' then '二月份'
     ...
     when  进货时间>='2002-12-1' and  进货时间<'2003-1-1' then '十二月份'
     end as 月份,sum(商品进货) as 进货数量
    from tablename
    where 进货时间>='2002-1-1' and  进货时间<'2003-1-1'
    group by 
    case 
     when  进货时间>='2002-1-1' and  进货时间<'2002-2-1' then '一月份'
     when  进货时间>='2002-2-1' and  进货时间<'2002-3-1' then '二月份'
     ...
     when  进货时间>='2002-12-1' and  进货时间<'2003-1-1' then '十二月份'
     end
    to:free_eyes(eyes)
    月份区间由用户输入?什么意思,说清楚!