use callout
select A.Col001 ,
SUM(SecTimes)/60 时长分 from 工号 A
left join connect B on B.callerno=A.col001 and CONVERT(char(8),B.StartTime,112 )='20110508'
GROUP BY A.Col001
order by A.Col001
请问我如何调出整月的数据,这是一天的。

解决方案 »

  1.   

    use callout
    select A.Col001 ,
    SUM(SecTimes)/60 时长分 from 工号 A
    left join connect B on B.callerno=A.col001 and CONVERT(char(6),B.StartTime,112 )='201105'
    GROUP BY A.Col001
    order by A.Col001
      

  2.   

     CONVERT(char(8),B.StartTime,112 )='20110508'
    把这个条件改为某月的时间段 
      

  3.   

    select A.Col001 ,
    SUM(SecTimes)/60 时长分 from 工号 A
    left join connect B on B.callerno=A.col001 
    and B.StartTime>='2011-05-01' and B.StartTime <'2011-06-01'
    GROUP BY A.Col001
    order by A.Col001
    --不要在列上用函数,或者转换,那样效率低下.有索引也利用不到.虽然代码会长一些,但改上面这种方式会更好一些.
      

  4.   

    1楼和2楼的童鞋是来占楼的么?请尊重CSDN请尊重技术!
      

  5.   

    你光给个语句,数据表结构及数据都不给,然后就说人家占楼,你以为CSDN上都是神仙啊。
    提问前先看下如何提问才能让别人正确理解你的问题并作出正确的解答。
      

  6.   

    我忘记说了,我是要个整月每天的循环,不是 >= 或 between and 时间范围,这样得到的是整月都在一起的数据,我要每天的数据都是独立的
      

  7.   


    ----2011年6月的 按天计算
    select A.Col001 ,
    CONVERT(char(8),B.StartTime,112 ) as dates,
    SUM(SecTimes)/60 时长分 
    from 工号 A
    left join connect B on B.callerno=A.col001 
    where year(B.StartTime)=2011 and month(B.StartTime)=6
    GROUP BY A.Col001, CONVERT(char(8),B.StartTime,112)
    order by A.Col001
      

  8.   

    select calledno from connect
    where CONVERT(char(8),StartTime,112 )='20110508'这回能看懂了吧大哥,就是个Select 语句,和表结构没关系,要的是怎么循环每一天的数据