select dd_id dd_htbianhao,dd_kdshijian,count(*) from dd where substring(convert(char,dd_kdshijian,120),12,2) = '01' group by dd_id dd_htbianhao,dd_kdshijian
union all 
select dd_id dd_htbianhao,dd_kdshijian,count(*) from dd where substring(convert(char,dd_kdshijian,120),12,2) = '02' group by dd_id dd_htbianhao,dd_kdshijian
..............

解决方案 »

  1.   

    select 
      count(case datepart(hh,kdshijian) when 1 then dd_id else 0 end)  as Hour1, 
      count(case datepart(hh,kdshijian) when 2 then dd_id else 0 end)  as Hour2, 
      count(case datepart(hh,kdshijian) when 3 then dd_id else 0 end)  as Hour3, 
    ... 
    from dd 
    where datediff(day,dd_kdshijian,getdate())=0
      

  2.   

    不行,如果按照josy的写法,得到的每个时段的记录数等于当天的记录。
      

  3.   


    你的条件里只有一天嘛select
      convert(char(10),kdshijian,120) as 日期,
      count(case datepart(hh,kdshijian) when 1 then dd_id else 0 end)  as Hour1, 
      count(case datepart(hh,kdshijian) when 2 then dd_id else 0 end)  as Hour2, 
      count(case datepart(hh,kdshijian) when 3 then dd_id else 0 end)  as Hour3, 
    ... 
    from dd 
    group by convert(char(10),kdshijian,120)
      

  4.   


    select 
      sum(case datepart(hh,kdshijian) when 1 then 1 else 0 end)  as Hour1, 
      sum(case datepart(hh,kdshijian) when 2 then 1 else 0 end)  as Hour2, 
      sum(case datepart(hh,kdshijian) when 3 then 1 else 0 end)  as Hour3, 
    ... 
    from dd 
    where datediff(day,dd_kdshijian,getdate())=0select
      convert(char(10),kdshijian,120) as 日期,
      sum(case datepart(hh,kdshijian) when 1 then 1 else 0 end)  as Hour1, 
      sum(case datepart(hh,kdshijian) when 2 then 1 else 0 end)  as Hour2, 
      sum(case datepart(hh,kdshijian) when 3 then 1 else 0 end)  as Hour3, 
    ... 
    from dd 
    group by convert(char(10),kdshijian,120)
      

  5.   


    select substring(convert(char,dd_kdshijian,120),12,2),count(*) as C 
    from dd 
    where datediff(day,dd_kdshijian,getdate())=0
    group by substring(convert(char,dd_kdshijian,120),12,2)
      

  6.   


    统计今天的数据select
      convert(char(10),kdshijian,120) as 日期,
      sum(case datepart(hh,kdshijian) when 1 then 1 else 0 end)  as Hour1, 
      sum(case datepart(hh,kdshijian) when 2 then 1 else 0 end)  as Hour2, 
      sum(case datepart(hh,kdshijian) when 3 then 1 else 0 end)  as Hour3, 
    ... 
    from dd  where datediff(day,dd_kdshijian,getdate())=0
    group by convert(char(10),kdshijian,120)
      

  7.   

    where datediff(day,dd_kdshijian,getdate())=0
    ----
    用这条语句就可以保证查出来的是当天的日期了啊.