4
私はオラクル11gです。 次のクエリがn行を返すとします。クエリのn-1行を選択してください
SELECT t.id,t.from_date,t.price FROM prices t order by id, date
そして、最初のn-1行だけをクエリから取得します。 内部クエリーを使用せずにどうすればできますか?
私はオラクル11gです。 次のクエリがn行を返すとします。クエリのn-1行を選択してください
SELECT t.id,t.from_date,t.price FROM prices t order by id, date
そして、最初のn-1行だけをクエリから取得します。 内部クエリーを使用せずにどうすればできますか?
EDIT:質問に追加された追加情報に基づいて変更されました。
select p.id, p.from_date, p.price
from (select id, from_date, price, row_number() over (order by id desc) as r from prices) p
where p.r <> 1
order by p.id, p.from_date
なぜ内部クエリを使用しないのですか?そして、「最初のn-1」行は何から注文されたのでしょうか? –
「最初の」n-1行を決定するためにあなたは 'ORDER BY'をどうしますか? –
私は持っているので、すでにたくさんのロジックがあり、計算もしています。だからそれはかなり遅いです。私はすでにorderbyを使用していて、mysqlで 'limit'のようなものを求めていました。 – awsome