我有下表:
ItemID Price
1 10
2 20
3 12
4 10
5 11
我需要找到第二低的价格。到目前为止,我有一个有效的查询,但我不确定它是最有效的查询:
select min(price)
from table
where itemid not in
(select itemid
from table
where price=
(select min(price)
from table));
如果我必须找到第三或第四个最低价格怎么办?我什至没有提到其他属性和条件......有没有更有效的方法来做到这一点?
PS:请注意,最小值不是唯一值。例如,第 1 项和第 4 项都是最小值。简单的订购是不行的。