找到第二高<属性>

时间:2016-01-23 23:53:14

标签: sql

我有一个表格账单(名称为char(30),金额为int,account_id为int)。我试图从表中找出第二高的数额。样本数据如下:

Name              | Amount  | Account_ID
Phoness Company   | 125     | 1
O Company         | 127     | 2
Phoness Company   | 187     | 1
sdfkjlef          | 45      | 3

我的代码返回125.它应该返回127.不知道我在这里做错了什么。

select min(amount) from (select top 2 amount from bills) b

1 个答案:

答案 0 :(得分:2)

你差不多完成了:

select min(amount) from (select top 2 amount from bills order by amount desc) b

如果在您的表中有多个具有最高值的行,您可以使用它:

select min(amount) from (select distinct top 2 amount from bills order by amount desc) b