Используя SQL Server 2008, я хочу вычислить временной интервал в секундах, который произошел между двумя разами.
Начальная дата - это отметка времени последнего вхождения того места, где существует конкретный идентификатор (если фильтр имеет значение true), получить время из этой записи отметки времени и выполнить DATEDIFF () для текущего времени обработки и вернуть значение @LastEventTimespan в секундах.
DECLARE @CurrentProcessTime DATETIME
DECLARE @LastEventTimespan DATETIME
SET @CurrentProcessTime = GetDate()
-- find the timespan since the last session event
-- DATEDIFF ( datepart , startdate , enddate )
SELECT MAX(PageVisitEventID) AS LastPageVisitEventID, @LastEventTimespan = DATEDIFF(second , DateAdded , @CurrentProcessTime )
FROM PageVisitEvents
WHERE UserID = @UserID
GROUP BY LastPageVisitEventID
Я подумал, что могу получить MAX ID фильтра и обработать его соответствующим образом, но не могу установить @LastEventTimespan, однако попытка присвоить значение при выполнении поиска данных - нет-нет.
Как мне обойти это?
Спасибо.