有表A 
字段
  科室编号    操作    时间
    6         aaa     2010-10-1
    6         aaa     2010-10-5
    6         aaa     2010-10-8
    6         bbb     2010-10-2
    6         bbb     2010-10-5
    6         bbb     2010-10-26
    7         xxx     2010-10-8
    7         aaa     2010-10-10
    6         aaa     2010-9-1
       统计时间段假如2010-10-1 至2010-10-31要求达到如此结果:
   科室编号    操作   次数
      6        aaa    3
      6        bbb    2
      7        xxx    1
      7        aaa    1
说明:其中‘操作’字段具体内容可以用户输入,事先不确定的

解决方案 »

  1.   

    select  科室编号,操作,count(1)
    from ta 
    where  时间 between '2010-10-1' and '2010-10-31'
    group by 科室编号,操作
      

  2.   

    你的结果不对吧:
    select 科室编号,操作,count(*) 次数
    from [Table] 
    where datediff(day,'2010-10-1',时间)>=0 and datediff(day,时间,'2010-10-31')>=0
    group by 科室编号,操作
      

  3.   


    DROP TABLE aCREATE TABLE a
    (科室编号 INT,
    操作 NVARCHAR(20),
    时间 DATETIME)
    INSERT INTO a 
    SELECT '6','aaa','2010-10-1'
    UNION 
    SELECT '6', 'aaa', '2010-10-5'
    UNION 
    SELECT '6', 'bbb', '2010-10-2'
    UNION 
    SELECT '6', 'bbb', '2010-10-5'
    UNION 
    SELECT '6', 'bbb', '2010-10-26'
    UNION 
    SELECT '7', 'xxx', '2010-10-8'UNION 
    SELECT '7', 'aaa', '2010-10-10'
    UNION 
    SELECT '6', 'aaa' ,'2010-9-1'
    select 科室编号,操作,count(1) AS 次数
    from a  
    where 时间 between '2010-10-1' and '2010-10-31' AND 
    操作 IN ('aaa','bbb')
    group by 科室编号,操作