有一个数据表:  doctorid,datetime,patientid,fee
就是存储每一个医生给病人治病的信息,现在我要进行如下统计:
按 天(月/年/季度)统计各个医生治疗病人的数量和合计费用???

解决方案 »

  1.   

    按日统计:
    select doctorid,Convert(varchar(8),datetime,112),count(*) as '总人数',sum(fee) as '总金额'
    from table
    group by doctorid,Convert(varchar(8),datetime,112)按月统计:
    select doctorid,Convert(varchar(6),datetime,112),count(*) as '总人数',sum(fee) as '总金额'
    from table
    group by doctorid,Convert(varchar(6),datetime,112)按年统计:
    select doctorid,Convert(varchar(4),datetime,112),count(*) as '总人数',sum(fee) as '总金额'
    from table
    group by doctorid,Convert(varchar(4),datetime,112)
      

  2.   

    select doctorid,Convert(varchar(8),datetime,112),count(*) as '总人数',sum(fee) as '总金额'
    from table
    having doctorid='某医生ID'
    group by doctorid,Convert(varchar(8),datetime,112)
    其它类似
      

  3.   

    select Count(*),count(fee)
    from 表名
    where doctorid=''and   ( t1 <datatime<t2 ) 
      

  4.   

    注意:Convert(varchar(8),datetime,112),不是8,是10,因为日期是有格式的,如:2000-02-01
      

  5.   

    现在我就想统计某一个医生,请问我该怎么写统计语句?
    ///////////////////////
    select Count(*) as 人数
    from 表名
    where doctorid='你要统计的医生id'
    group by doctroid,Convert(varchar(8),datetime,112);
      

  6.   

    按月统计:
    select doctorid,count(patientid),sum(fee)
    from 数据表
    where month(datetime)='某月'
    group by doctorid
    -----------------------------------------
    按年统计:
    select doctorid,count(patientid),sum(fee)
    from 数据表
    where year(datetime)='某年'
    group by doctorid
    ------------------------------------------
    按季度统计:
    select doctorid,count(patientid),sum(fee)
    from 数据表
    where datetime>='2003-1-1' and datetime<='2003-3-31'
    group by doctorid
      

  7.   

    select distinct
           doctorid 医生编号,
           patientid 治疗数量 , 
           sum(fee) 合计费用
    where  docturid =:Did
           and datetime between :std and :etd
    group by
          doctorid,partientid
    order by 
          doctorid然后在DELPHI中建立参数
      

  8.   

    按天统计!!!
    select doctorid,count(patientid) as '总人数',sum(fee) as '总金额'
    from table
    group by doctorid, datetime
      

  9.   

    select doctorid,count(patientid) as '人次' ,sum(fee) as '合计'
    where  docturid =:Did and datetime between :std and :etd
    group by doctorid
    order by doctorid可以用combobox和datetimepicker传递参数。
      

  10.   

    统计每月的增长率又该如何??
    ---------------------------
    呵呵用SQL有难度...............
      

  11.   

    select DatePart('q',[日期]) as 季度
    from 表