我試圖完成一個程序的問題。我有一張存儲三個時間戳的表格。它用於統計查詢和響應。第一個時間戳用於查詢日期和時間(Date_Sent),另外兩個是我們第一次對查詢(FirstResponse)做出響應的專家之一,以及當查詢得到滿足時(LastResponse)。我應該創建基於以下條件的曲線圖:在一條SQL語句中計算多個值
- 每月的查詢總數
- 查詢的數量在不到兩個小時
- 查詢的數量較少迴應迴應超過24小時,但在兩個
- 查詢的數量在不到48小時的反應,但超過24
- 查詢的數量在不到72小時的反應,但超過48
- 查詢的數量更少的響應超過96小時,但超過72
我能夠做的第一個要求:
SELECT Count(Date_Sent) AS TotalQueries,
SUBSTRING(CONVERT(VARCHAR(11), Date_Sent, 113), 4, 8) AS Month,
RIGHT(CONVERT(VARCHAR(7), Date_Sent, 120), 2) AS Month_Order
FROM AskAO.dbo.AskAO_Stats
WHERE Date_Sent BETWEEN '6/1/2012' AND '6/30/2013' AND
FirstResponse != '' AND
LastResponse != '' AND
FirstResponse < LastResponse
GROUP BY SUBSTRING(CONVERT(VARCHAR(11), Date_Sent, 113), 4, 8),
CONVERT(VARCHAR(7), Date_Sent, 120)
ORDER BY SUBSTRING(CONVERT(VARCHAR(11), Date_Sent, 113), 4, 8)
我能夠得到這個抽樣結果:
TotalQueries Month Month_Order
655 Jun 2013 06
289 May 2013 05
不過,我不不知道如何獲得其他人:(我知道我可以通過DateDiff計算出這些值,但是我需要的是每個月符合這些特定標準的查詢數。我需要這個:
TotalQueries 2Hrs 24Hrs 48Hrs 72Hrs 96Hrs Month Month_Order
655 300 190 80 55 30 Jun 2013 06
289 180 50 30 15 14 May 2013 05
我不熟悉複雜的SQL,所以我不確定這是否可行。
您如何定義「回覆」:最後一次回覆和第一次回覆之間的時間,或發送日期和第一次回覆之間的時間? –
你試圖在SQL中完成所有的任何理由?你可以用代碼撤回記錄集和切片/骰子嗎? – David
@StasYarkin感謝您的迴應:)時間回覆是在發送日期和第一個回覆之間:)基本上,我正在計算我們的專家如何快速響應個別查詢。 – Poch