【发布时间】:2021-02-23 22:21:07
【问题描述】:
我已经查看了与此类似的其他一些问题,但我发现没有什么可以让我到达那里。
我有一个包含多列的表,但其中 3 列是 Company、Date 和 WaitTime。
我想为每家公司和每一天选择最长的等待时间。我想显示整个日期范围的结果,显示每家公司以及该特定日期的最长等待时间。
主表
Company | Date | WaitTime
A 11/10 5.2
A 11/10 5.1
B 11/10 4.8
B 11/10 4.7
A 11/11 5.0
A 11/11 5.1
B 11/11 4.6
B 11/11 4.5
etc
期望的结果
Date | Company | WaitTime
11/10 A 5.2
11/10 B 4.8
11/11 A 5.1
11/11 B 4.6
etc
我每天可以与每家公司进行数百次互动,因此我试图找出每家公司每天最长的等待时间。
我试过的最新版本是这个;
SELECT
Top 1 with Ties
CAST(Timestamp as Date) As Date,
Campaign as Company,
(IVR_Time/60.0) as WaitTime
FROM [Reporting].[dbo].[New_Five9_CallLog] a WITH (NOLOCK)
Where a.Timestamp >= DATEADD(week, DATEDIFF(week,0,GETDATE())-1,-1)
AND a.Timestamp < DATEADD(week, DATEDIFF(week,0,GETDATE()),-1)
AND a.Call_Type = 'Inbound'
Order By ROW_NUMBER() over (Partition By Campaign Order by Timestamp)
然而,这并不能完全告诉我我需要什么。
【问题讨论】:
标签: sql sql-server tsql datetime greatest-n-per-group