2010-04-04 92 views
4

我有一張滿是bug的表。 BugTitle是頁面錯誤,我也捕獲錯誤行。 我想建立一個SQL查詢,根據bugtitle和錯誤行選擇前10個錯誤。 我有這樣的查詢:SQL按日期獲得前10條記錄

SELECT COUNT(BugTitle) AS BugCount, BugTitle, ErrLine 
FROM Bugs 
WHERE BugDate >= DateAdd(Day, -30, DateDiff(Day, 0, GetDate())) 
GROUP BY BugTitle, ErrLine 
ORDER BY BugCount, ErrLine DESC 

但我不確定它是否正確。我非常肯定,我的測試數據只有1個錯誤發生在同一行,但沒有顯示出這個查詢。 任何人都可以幫忙嗎?

回答

2

要獲得10個最常見的您可能希望通過計數命令:

SELECT TOP(10) COUNT(BugTitle) AS BugCount, BugTitle, ErrLine 
FROM Bugs 
WHERE BugDate >= DateAdd(Day, -30, DateDiff(Day, 0, GetDate())) 
GROUP BY BugTitle, ErrLine 
ORDER BY COUNT(BugTitle) DESC 
+1

ORDER BY BugCount像他那樣還不夠? – systempuntoout 2010-04-04 19:23:14

+1

確實....但desc是錯誤的。 – 2010-04-04 19:26:27

+0

*編輯* 看起來您的查詢確實有效,因爲您的複製粘貼是完美的,所以我必須打錯輸入。 – 2010-04-04 19:27:16