2013-07-08 3 views
0

У меня есть запрос, который получает все записи на сегодня. По запросу ниже я получаю разницу с момента, когда билет был выпущен до текущего времени. Это дает общее время ожидания.Получить MAX минут из запроса в SQL Server

Я хочу получить MAXWaitTime из моего запроса.

SELECT 
    DATEDIFF(minute, Issued, GETDATE()) AS MaxWaitTime 
FROM 
    tblData 
WHERE 
    (DATEADD(day, DATEDIFF(day, 0, Issued), 0) = DATEADD(day, DATEDIFF(day, 0, GETDATE()), 0)) 

Это прекрасно работает, я получаю минуты назад, но для нескольких записей. Я хочу только самого высокого.

Мой результат:

32 
50 
25 

Я хочу, чтобы результат самый высокий только:

50 
+1

Вы можете рассмотреть вопрос об изменении запроса использовать 'где Выпущено> = Cast (GetDate() в качестве даты)'. – HABO

+1

Или 'WHERE Issued> = CAST (дата даты GetDate) и выдан

ответ

1

Вы должны использовать максимальную функцию получить наибольшее значение. Check this link

SELECT Max(DATEDIFF(minute,Issued,GETDATE()))AS MaxWaitTime 
from tblData 
WHERE 
(DATEADD(day, DATEDIFF(day, 0, Issued), 0) = DATEADD(day, DATEDIFF(day, 0, GETDATE()), 0)) 
+0

который работал. Спасибо – Apollo

+0

Не беспокойтесь. Пожалуйста, примите это как ваш ответ, если он сработает. – reggie

0

Попробуйте следующий запрос:

SELECT max(DATEDIFF(minute,Issued,GETDATE())) AS MaxWaitTime 
from tblData 
WHERE (DATEADD(day, DATEDIFF(day, 0, Issued), 0) = DATEADD(day, DATEDIFF(day, 0, GETDATE()), 0)) 
+0

такой же ans hehe .. –

Смежные вопросы