1
我正在嘗試計算只有一個會話的表中的唯一事件數。我們有一個名爲「會話跟蹤」的表格,用於存儲事件編號,並存儲該會話的以前的狀態和當前狀態。我想計算只有一個會話的事件數量,並且我還希望計算可能有多個會話的事件數量,但前提是以下會話在關閉和結束時開始關閉。基本上不包括在聚合列表中不改變狀態的會話。計算篩選出某個條件的記錄數
例子:
Incident ID Start Status End Status
1 Open Closed
1 Closed Closed
2 Open Closed
3 Open Closed
4 Open Open
4 Open Closed
我想要得到的前三個事件,因爲事件2和3兩人相依爲命只有1次會議,並希望,因爲它有一個會話數第一事件發生後,它已經關閉,而第二次會議不算。第四起事件不會計算在內,因爲它有多個會議在開放。
這是我使用的聲明,並認爲有些事情可能是關閉...
SELECT Incident, COUNT(Incident)
FROM Session_Tracking
WHERE NOT (Prev_Status = 'Closed' AND Current_Status = 'Closed')
GROUP BY Incident
HAVING COUNT(Incident) = 1
當你運行這個查詢時,你會得到什麼結果? – Melanie 2013-03-21 15:56:45
我收到了突發事件和1的列表,但與沒有WHERE子句相比,我遇到了衝突的數字。一個月我得到的數字比WHERE子句的總數少,而下一個我越來越多。這很奇怪,所以我想問問這裏是否會有更好的方法......並且我正在使用Microsoft SQL Server – 2013-03-21 16:02:10