我正在尝试在我的桌子中找到最昂贵的订单,我已经实现了这一点,但我想知道如何返回这一个特定的行。现在,它在顶部以最昂贵的顺序转换所有行。我不太确定如何退回最昂贵的订单。我按订单号(order_numb
)对订单进行了分组。我尝试过使用IN
和自我加入,但我似乎无法让它发挥作用。
SELECT order_numb, sum(cost_each) as totalSum
FROM order_lines
GROUP BY order_numb
ORDER BY totalSum DESC
我正试图自己检索最昂贵的订单。
我正在使用Oracle作为我的数据库。
答案 0 :(得分:2)
使用ROWNUM
过滤结果集的第一行(最昂贵的顺序):
SELECT t.*
FROM (
SELECT order_numb, sum(cost_each) as totalSum
FROM order_lines
GROUP BY order_numb
ORDER BY totalSum DESC
) t
WHERE ROWNUM <= 1