2017-02-11 6 views
-1

私の質問は、「trade_id、stock_id、最高の価格の合計との貿易のために合計金額を表示するために私に尋ねる。ORACLE SQL SELECT列のMAX()の値を持つ1つのロー

だけあります。私はと連携する必要があり、それが貿易のテーブルです

現在、私が持っている1台:

select trade_id,stock_id,max(price_total) 
from trade 
group by trade_id, stock_id; 

私は(のために、私はtrade_idを知っている、とstock_idと価格合計)行最高の貿易を取得する必要があります、しかし、私のクエリは、行の広い範囲を表示している、私は1つの行が必要です、これはrです最も高いprice_totalを持つowとそれに対応するstock_idとtrade_idです。誰かが1行だけを取得する方法を知っていますか?

P.S:私はそれがどの行であるか知っています、私はその行を私の照会結果でのみ返すようには思えません。ありがとうございました!クエリ以下

+0

をご確認ください。 –

+0

2つ以上の取引が最高価格合計のために*結ばれている場合、特別な場合の要件は何ですか? (ところで、要件がこれについて静かな場合は、それは悪い条件です。) – mathguy

+0

Googleでmax value **の** ** stackoverflow oracle select行を試してみると、可能なすべての解決策(および不可能なもの)がすべて見つかります。あなた自身のためにいくつかの研究をすることを学ぶ。 – mathguy

答えて

0

はあなたに望ましい結果が得られます... `HAVING`句を使用してみてください

 

    select * from 
     (select trade_id,stock_id,max(price_total) as max_price_total 
     from trade 
     group by trade_id, stock_id 
     order by 3 desc) 
    where rownum = 1; 

関連する問題