我试图在我的数据中找到某些百分位的界限,即什么值位于10%标记处,因此有人必须超过哪些值才能进入前10名%。获取TOP PERCENT查询中的最后一条记录
我可以通过运行一个查询,如获得该值:
SELECT TOP 10 PERCENT [Time]
FROM Scores
WHERE Lesson = 1
ORDER BY [Time];
...然后指的是最后一个记录返回。
有谁知道我可以运行哪些查询来直接获取该值? ORDER BY子句似乎会导致所有问题,因为我无法将上述运行作为子查询,并且事实上它已经是查询的一个组成部分,所以无法使用它来获取底部记录。我相信一定有一个简单的方法。
在此先感谢。
这工作,谢谢。唯一的问题是,因为我使用的是SQL Server(2008),所以我不得不为子查询添加一个别名,所以在结束括号后添加了“AS Top10”。我的错,因为没有指定我正在使用的东西。再次感谢! – BinarySolo 2011-01-26 16:25:33
@BinarySolo:对于大多数数据库来说都是如此,回答编辑;) – Andomar 2011-01-26 16:28:42