在SQL中选择TOP 2最大值

时间:2018-06-21 12:14:10

标签: sql sql-server

我没有选择最高价格的TOP 2产品。

ProductID   ProductName SupplierID  CategoryID  Unit    Price
1   Chais   1   1   10  bags    18
2   Chang   1   1   24 bottles      19
3   Aniseed Syrup   1   2   12 bottles      10

我用过:

Select TOP 2 *
from Products
where Price = (Select Max(Price) from Products);

但是结果只有1行。

2 个答案:

答案 0 :(得分:7)

这将为您提供前2个最高价格,但是如果两次出现相同的价格,您将获得两次相同的值,但是从上面的代码中可以得出假设的结果。

Select TOP 2 * from Products order by Price DESC

答案 1 :(得分:0)

您需要order by子句:

select top (2) * 
from Products p 
order by price desc;