如何从sql中的表中获取第5个最大值?

时间:2014-05-28 07:54:11

标签: sql

我有一个名为Products的表,其中有一列Prices。 如何从该表中获得第5个最大值?

我找到了两种方法:

= 1 =

select max(id) 
from EMP A 
where 5=( select count(distinct(id)) 
          From EMP  B 
          where B.ID>=A.ID )

= 2 =

SELECT * 
FROM Products Price1 
WHERE (4) = (SELECT COUNT(DISTINCT(Price2.Price))
             FROM products Price2 
             WHERE Price2.Price > Price1.Price)

2 个答案:

答案 0 :(得分:2)

为什么要使用如此复杂的查询:

使用这个简单的 - >

SELECT * FROM products ORDER BY price LIMIT 5, 1

答案 1 :(得分:1)

这样的事情:

SELECT * 
FROM products
ORDER BY price DESC
LIMIT 5, 1