2017-09-16 2 views
1

salesという名前のテーブルがあり、2つのカラム:Sales_IdPriceがあります。私はテーブルから最も安い価格を取得する必要があります。一番安い価格は100です。しかし、それはただ一つのSales_IDだけを示していますが、最も安い価格で3つのエントリーすべてを返すようにしたいのです。最も安い価格を返すには?

Create table sales 
(
    Sales_Id int Primary Key, 
    Price number(4) 
); 
insert into sales values(1,100); 
insert into sales values(2,400); 
insert into sales values(3,100); 
insert into sales values(4,100); 

答えて

3
select sales_id 
from sales 
where price = (select min(price) from sales) 
2

一つの方法は、rank()/dense_rank()を使用:

select s.* 
from (select s.*, rank() over (order by price) as seqnum 
     from sales s 
    ) s 
where seqnum = 1; 
0
select * from sales 
order by price 
fetch first row with ties; 

(オラクル12.1以降が必要です。)

関連する問題