在事件表中,我有一列填充了自特定用戶記錄上次事件以來的秒數。第一個事件的時間顯然是空,因爲沒有以前的事件存在(降序排列):使用TSQL觸發時間段?
9fb63b905a004106bd26c80a5caec52b 9 2012-01-12 00:05:56.890
9fb63b905a004106bd26c80a5caec52b 11 2012-01-12 00:05:47.097
9fb63b905a004106bd26c80a5caec52b 10 2012-01-12 00:05:36.713
9fb63b905a004106bd26c80a5caec52b 6 2012-01-12 00:05:26.963
9fb63b905a004106bd26c80a5caec52b NULL 2012-01-12 00:05:20.500
我還有一個表,其中我有一些觸發值。例如,10秒,30秒,90秒以及每個目標被擊中時我想要讀取的觸發值。
記錄一個事件之後,我有一個檢查,看看是否觸發時間已超過一個查詢:
SELECT TriggerValue, SUM(p.LastEventTimeSpan)
FROM PageVisitEvents p RIGHT JOIN Segments s ON p.CampaignID = s.CampaignID
WHERE p.VisitorID = '9fb63b905a004106bd26c80a5caec52b'
GROUP BY TriggerValue
這個偉大的工程,如果我只是想觸發一次。上述然而該查詢返回以下(觸發值)總時間):
30 357
60 357
90 357
用一個數值,做一個比較就好了,不過我比較現在只顯示90時這段時間已經超過,並沒有在之間。
當每個觸發器都滿足時,我只想返回該觸發器。例如,當事件之間的時間達到35秒時,僅返回30的觸發值,而不是10秒。
我可以就如何解決這個問題得到一些建議嗎?
謝謝。
稍後可能會使用它,但有點貴,正如您所提到的......參見上文。 – ElHaix 2012-01-12 13:51:25