2010-04-04 58 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