Re: selecting a column according to a minimum

From: Agoston Bejo <gusz1_at_freemail.hu>
Date: Tue, 19 Oct 2004 11:12:25 +0200
Message-ID: <cl2m1n$tbk$1_at_news.caesar.elte.hu>


Actually, here is what I could come up with:

select i from
 (SELECT i, j FROM T WHERE [condition] ORDER BY j ) WHERE ROWNUM = 1
Is this very inefficient?

"Agoston Bejo" <gusz1_at_freemail.hu> wrote in message news:cl0atr$9n7$1_at_news.caesar.elte.hu...
> Take a look at the following example:
>
> table T(i INTEGER, j INTEGER)
>
> I want to get the value of i where j is minimal and some conditions apply.
>
> (1)
> SELECT i FROM T
> WHERE [condition]
> AND j
> IN (SELECT min(j) FROM T WHERE [condition])
>
> The best would be if such a syntax was allowed (which it isn't):
> SELECT i, min(j) FROM T WHERE [condition]
>
> How can I rewrite the SELECT statement in (1) such that [condition]
doesn't
> have to be typed in twice? Or how can I achieve the same thing in some
other
> way? (I am open to other solutions as well as long as they are inside the
> limits of Oracle PL/SQL.)
>
>
Received on Tue Oct 19 2004 - 11:12:25 CEST

Original text of this message