1

こんにちは、サブクエリからの出力として複数の行を取得するいくつかの列で Order by を実行した後、サブクエリで使用される select 句があります。しかし、メインクエリで処理できるように、サブクエリから返される最後のレコードだけが必要です。

Select T.C1, T1.C4 as emp from
 (Select C1,C4 from t1 group by C1,C4  order by c1,c2,c3 ) T

サブクエリが返す

C1             C4
bal             1
Env             1
John            2

必要なのはJOHN、出力として2つだけです

4

2 に答える 2

2

あなたの場合、最も簡単な方法は、LAST (名前がよくない) 句を使用することです。

select max(c1) keep (dense_rank last order by c1, c2, c3) as c1
     , max(c4) keep (dense_rank last order by c1, c2, c3) as c4
  from t1

これにより、指定された順序で最後のレコードが選択され、集計関数によって定義されます。ここでの MAX はただの愛情です。MIN も同様に機能します。

Rob van Wijk の記事をお勧めします。

于 2013-09-08T11:38:24.987 に答える