现在表里有:id,号码,开始时间,结束时间,类别等字段
现在要求查询出某号码:总的时间,类别为10的接入次数,类别不为10的接入次数,假如我要查询号码123456的记录,希望查询结果如下:号码       总的时间 类别为10的接入次数 类别不为10的接入次数
123456    1536       85                   23

解决方案 »

  1.   

    select 号码,sum(结束时间-开始时间),count(case 类型 when 10 then 1 else 0 end),count(case 类型 when 10 then 0 else 1 end) from 表 group by 号码
      

  2.   

    不对,还是得用sum
    select 号码,sum(结束时间-开始时间),sum(case 类型 when 10 then 1 else 0 end),sum(case 类型 when 10 then 0 else 1 end) from 表 group by 号码
      

  3.   

    参考一下
    select sum(case when id >= 1 then 1 else 0 end)
      

  4.   

    select 号码,sum(结束时间-开始时间),sum(case 类型 when 10 then 1 else 0 end),sum(case 类型 when 10 then 0 else 1 end) from 表 group by 号码是对的,谢谢,尝试加分中,呵呵
      

  5.   


    --总的时间以秒来计算的话。select 号码,总的时间=datediff(ss,开始时间,结束时间),
    [类别为10的接入次数]=sum(case 类型 when 10 then 1 else 0 end),
    [类别不为10的接入次数]=sum(case 类型 when 10 then 0 else 1 end) 
    from 表 group by 号码