Объединение двух запросов с интервалом времени - PullRequest
0 голосов
/ 03 сентября 2011

У меня есть таблица с именем Call_Data, и данные выглядят так:

Arr_Date                   Interval    Han_Time   SL_Time  
2011-03-16 18:39:31.000    1830        1200       245
2011-03-16 20:06:03.000    2000        261        85
2011-03-31 00:35:42.000    0030        1900       400
2011-03-31 02:13:06.000    0200        2000       350

Теперь я хочу узнать количество записей, у которых Han_time> 1800 и SL_Time> 300

Итак, я написал два запроса для этого:

  Select Arr_Date, Interval,
    Count(*) AS Han_Time_1800
    From Call_Data
    where Han_Time>1800
    Group by Arr_Date,Interval
    Order by Arr_Date,Interval

Select Arr_Date, Interval,
Count(*) AS SL_Time_300
From Call_Data
where SL_Time>300
Group by Arr_Date,Interval
Order by Arr_Date,Interval

Есть ли способ получить оба значения в одном запросе?

Ответы [ 2 ]

2 голосов
/ 03 сентября 2011
select Arr_Date,
       Interval,
       sum(case when Han_Time > 1800 then 1 else 0 end) as Han_Time_1800,
       sum(case when SL_Time > 300 then 1 else 0 end) as SL_Time_300
from Call_Data
where Han_Time > 1800 or 
      SL_Time > 300
group by Arr_Date, Interval
order by Arr_Date, Interval 
0 голосов
/ 03 сентября 2011

Не поможет ли это:

Select Arr_Date, Interval,
    Count(*) AS Han_Time_1800
    From Call_Data
    where Han_Time>1800
    and SL_Time>300
    Group by Arr_Date,Interval
    Order by Arr_Date,Interval
...