declare @bdate datetime,@enddate datetime
select @bdate='2002-5-1',@enddate='2003-3-1'select id
,[count1(date<=bdate)]=(select sum([count]) from tab1 where date<=@bdate)
,[count2(enddate>date>bdate)]=(select sum([count]) from tab1 where date<@bdate and date<@enddate)
,[count3(date=>enddate)]=(select sum([count]) from tab1 where date>=@enddate)
from tab1
group by id

解决方案 »

  1.   

    如果一条一条的insert,那肯定慢啦
      

  2.   

    我不是一条一条的insert,而是用的ADO的RecordSet->AddNew(),最后来个UpdateBatch();我加了一个主键,就是ID,这样快多了,不过还有一个问题,就是另一个字段选nchar会不会导致变慢,因为我存的内容不定都是1024个字符,1024只是最长的情况,一般情况它都很短的.换成varchar或者nvarchar会不会快点儿?
      

  3.   

    更新的时候调用存储过程。。
    存储过程中写insert into ...语句