我有这样一个表分别有id,price,name,date.我想统计近一年内每个月每个name以及所有name的price的和.我想了两个办法,一是将一年内的所有数据都放到ds.table[0]中,再组合数据放到新的ds.table[1]里;还有就是做个存储过程,在里面创建虚拟表来存放统计的内容我问问各位一般是如何处理此类问题的

解决方案 »

  1.   

    create table t([id] int,price int,name varchar(20),[date] datetime)insert into t values(1,5,'a','2011-1-2')
    insert into t values(1,5,'a','2011-1-5')
    insert into t values(1,5,'a','2011-1-7')
    insert into t values(1,5,'e','2011-1-8')
    insert into t values(1,5,'d','2011-1-9')
    insert into t values(1,5,'f','2011-2-2')
    insert into t values(1,5,'f','2011-2-5')
    insert into t values(1,5,'h','2011-2-6')
    insert into t values(1,5,'i','2011-3-1')
    insert into t values(1,5,'g','2011-4-1')select month([date]) [month],[name],sum(price) price 
    from t
    group by month([date]),[name]
    with rollup
      

  2.   

    .... group by cube(month(date),name)