【发布时间】:2013-11-26 12:20:26
【问题描述】:
我正在尝试将两个查询组合在一起,但我遇到了麻烦,因为它是一个日期时间列。现在我有一个查询可以找到所有用户+那里最慢和最快的“段”时间,但我还需要找到下面的平均段时间是我现在使用的两个查询,哪个工作但我需要它在一个查询我正在制作的报告。
谢谢
托马斯·詹姆斯
DECLARE
@vnuID int = 1212,
@StartDate DateTime = '30/10/2013',
@EndDate DateTime = '26/11/2013'
SELECT DISTINCT usrFullName, MIN(CAST(tblTrace.trFinish - tblTrace.trStart AS TIME)) AS FastestUserSegmentTime,
MAX(CAST(tblTrace.trFinish - tblTrace.trStart AS TIME)) AS SlowestUserSegmentTime
FROM tblTrace
INNER JOIN tblUsers ON usrID = tr_usrID
WHERE tr_vnuID = @vnuID AND trFinish IS NOT NULL AND tr_usrID IS NOT NULL AND trObjectType LIKE 'Segment%'
AND trStart BETWEEN @StartDate AND @EndDate
GROUP BY usrFullName
SELECT AVG(TotalTime) AS AvgUserSegmentTime
FROM (SELECT DateDiff(SECOND, tblTrace.trStart , tblTrace.trFinish) as 'TotalTime'
FROM tblTrace
WHERE tblTrace.trFinish IS NOT NULL AND tblTrace.trObjectType LIKE 'Segment%' AND tblTrace.tr_vnuID = @vnuID
AND tblTrace.trStart BETWEEN @StartDate AND @EndDate ) as SubQuery
【问题讨论】:
标签: sql-server datetime average