ORACLE SQL SELECT一行,列上有MAX()值

时间:2017-02-11 01:50:24

标签: sql oracle greatest-n-per-group

我的问题要求我"显示具有最高价格总额的交易的trade_id,stock_id和总价。

我只需要使用一张表,这是交易表。

目前我有:

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

我需要获取行最高交易(我知道trade_id,以及stock_id和价格总计),但我的查询显示的行数很多,我只需要1行,这是最高行price_total和它对应的stock_id和trade_id。有谁知道如何只获取1行问。

P.S:我知道它是哪一行,我似乎无法仅在查询结果中返回该行。谢谢!

1 个答案:

答案 0 :(得分:0)

以下查询将为您提供所需的结果...检查


    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;