Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Запрос. Минимальная сумма значений.  [new]
antonstv
Member

Откуда:
Сообщений: 5
Помогите, пожалуйста, дописать запрос.
Есть 2 таблицы в одной параметры линий, во второй лог звонков,
из первой таблицы смотрим ID-линии, а во второй отбираем по этому ID.
Нужно получить линию, по которой сумма продолжительности звонка минимальная.
сам я пока дошел только до получения сумм по линиям.


SELECT @TR_B1=SUM ((Datediff(ss,TimeAnswer,TimeStop)/60+1)) 
FROM [A_Stat_Connections_1x1] 
where BLineID = (select [ID] from [A_ServerExtLines] where [LineCode] = 'MG-5994')

SELECT @TR_B2=SUM ((Datediff(ss,TimeAnswer,TimeStop)/60+1)) 
FROM [oktell].[dbo].[A_Stat_Connections_1x1] 
where BLineID = (select [ID] from [A_ServerExtLines] where [LineCode] = 'MG-6064')

SELECT @TR_B3=SUM ((Datediff(ss,TimeAnswer,TimeStop)/60+1)) 
FROM [oktell].[dbo].[A_Stat_Connections_1x1] 
where BLineID = (select [ID] from [A_ServerExtLines] where [LineCode] = 'MG-6253')

SELECT @TR_B4=SUM ((Datediff(ss,TimeAnswer,TimeStop)/60+1)) 
FROM [oktell].[dbo].[A_Stat_Connections_1x1] 
where BLineID = (select [ID] from [A_ServerExtLines] where [LineCode] = 'MG-6288')
29 окт 12, 14:32    [13391094]     Ответить | Цитировать Сообщить модератору
 Re: Запрос. Минимальная сумма значений.  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 2994
SELECT TOP (1) x2.LineCode, SUM ((Datediff(ss,x1.TimeAnswer,x1.TimeStop)/60+1)) 
FROM [oktell].[dbo].[A_Stat_Connections_1x1] x1
INNER JOIN A_ServerExtLines x2 ON x1.BLineID  = x2.ID
GROUP BY
    x2.LineCode
ORDER BY 
    SUM ((Datediff(ss,x1.TimeAnswer,x1.TimeStop)/60+1)) 

?
29 окт 12, 14:46    [13391231]     Ответить | Цитировать Сообщить модератору
 Re: Запрос. Минимальная сумма значений.  [new]
antonstv
Member

Откуда:
Сообщений: 5
Спасибо!
То что надо.
29 окт 12, 14:54    [13391318]     Ответить | Цитировать Сообщить модератору
 Re: Запрос. Минимальная сумма значений.  [new]
chatm
Member

Откуда: Москва
Сообщений: 480
HandKot
SELECT TOP (1) x2.LineCode, SUM ((Datediff(ss,x1.TimeAnswer,x1.TimeStop)/60+1)) 
FROM [oktell].[dbo].[A_Stat_Connections_1x1] x1
INNER JOIN A_ServerExtLines x2 ON x1.BLineID  = x2.ID
GROUP BY
    x2.LineCode
ORDER BY 
    SUM ((Datediff(ss,x1.TimeAnswer,x1.TimeStop)/60+1)) 

?


опередили :)
29 окт 12, 14:55    [13391330]     Ответить | Цитировать Сообщить модератору
 Re: Запрос. Минимальная сумма значений.  [new]
with ties
Guest
chatm
HandKot
SELECT TOP (1) x2.LineCode, SUM ((Datediff(ss,x1.TimeAnswer,x1.TimeStop)/60+1)) 
FROM [oktell].[dbo].[A_Stat_Connections_1x1] x1
INNER JOIN A_ServerExtLines x2 ON x1.BLineID  = x2.ID
GROUP BY
    x2.LineCode
ORDER BY 
    SUM ((Datediff(ss,x1.TimeAnswer,x1.TimeStop)/60+1)) 

?


опередили :)

А если будет две или более линии, по которым сумма продолжительности звонка минимальная?
30 окт 12, 23:47    [13400047]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить