SQL 按日期获取前 10 条记录

标签 sql tsql

我有一张满是 bug 的 table 。 BugTitle 是页面错误,我还捕获了错误行。
我想构建一个 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 个发生在同一行上的错误,但这并没有出现在这个查询中。
任何人都可以帮忙吗?

最佳答案

要获得最常见的前 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

关于SQL 按日期获取前 10 条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2575574/

相关文章:

mysql - 选择两个表之间不常见的记录 - mysql

mysql - 如何显示表 A 的结果然后显示表 B 的结果?

sql - 排除匹配子查询的记录

mysql - SQL - 使用 Case、When 对不同行的值求和

SQL更新: insert new word in the middle of a long string

java - MySQL - 来自两列的不同值

Javascript ADO 记录集打开方法不起作用。参数化查询

sql-server - SQL查询索引按日期确定创建时间?

sql - 是否可以使用1个case语句返回多列?

sql-server - 在 SQL Server 中基于临时表创建永久表