我花了最後2個小時尋找這個,我嘗試過的每一件事都沒有奏效。我有一個table_Sessions我想要返回每個會話的BranchID和平均成本。但我只想顯示前兩名的平均值。如何只顯示前2行?
我已經從字面上嘗試了我所遇到的一切。要麼不適合我的情況,要麼我把它誤撥了。無論哪種方式,我都會在這裏瘋狂。
這裏是我到目前爲止,似乎做什麼,我希望它(最後20%是隻顯示前2最高的平均成本)
SELECT BRANCHID, AVG(SESSIONPRICE)
FROM SESSIONS
GROUP BY BRANCHID
ORDER BY AVG(SESSIONPRICE) DESC;
,如果有人能約80%請告訴我如何附加到它,我會非常讚賞它。我正在使用Oracle SQL Developer。
感謝
如果有超過2 branchid的分享前兩名AVG(sessionprice)會發生什麼?你仍然只想顯示2行? – Boneist
是的,但我沒有這樣的情況 –
如果這是一個家庭作業問題,那麼它不是一個問題。如果是爲了報告生產系統,那麼它變得更加重要。如果您確實只關心前兩行,並且確實有兩個(或更多)共享前兩個平均會話價格中的一個的情況,您是否關心查詢報告的分支機構是否可能與跑步跑?因爲如果你確實在意,那麼你應該在你的order by子句中引入其他元素,以確保當關系(aka draws)發生時排序是固定的。例如。 'ORDER BY AVG(SESSIONPRICE)DESC,branchid asc' – Boneist