2015-07-19 35 views
1

我在SQL Server數據庫中有三列的異常記錄表,其中有多個應用程序記錄.NET異常。T-SQL在日誌數據庫中選擇不同的ID並在過去的一小時內統計條目

我需要查詢,它將計算應用程序在過去一小時內記錄了一次例外數據庫的次數。即使在過去一小時內沒有記錄異常,我也需要所有應用程序出現在列表中。

表基本上是這樣的:

ID,AppName的,時間戳

我試着創建臨時表只AppName的的不同列表,然後通過摸索與周圍數和金額和組時間戳功能,但沒有結果,似乎讓我接近我所需要的。

任何幫助表示讚賞!

回答

2
SELECT a.AppName, COUNT(l.ID) as NumLogs 
FROM (SELECT DISTINCT AppName FROM dbo.Logger) AS a 
LEFT JOIN dbo.Logger AS l 
    ON l.AppName = a.AppName 
    AND l.TimeStamp > DATEADD(hour, -1, SYSDATETIME()) 
GROUP BY a.AppName; 

爲了讓外部連接具有適當的效果,在這裏設置ON子句中的時間過濾器非常重要。

+0

謝謝!這是我對外連接的理解缺乏的地方...... – Jonathan

相關問題