Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> Stuck With Analytic Function
Greetings,
I have a table structure and values as (TABLE1: dummy)
REF_NO SYMBOL ID EXEC_NAME
--------- -------------------- ---------- --------------------
1 AA 123 DL 1 AA 123 RR 2 BB 133 DL
I want to rank these records based on exec_name.
What I want is, if for a particular ID there is an EXEC_NAME
IN('RR','RK) then that record should
be ranked as 1 and others can be ranked accordingly.
So I want the output as such
REF_NO SYMBOL ID EXEC_NAMERANK
1 AA 123 DL 2 1 AA 123 RR 1 2 BB 133 DL1
So far I am just able to get the rank to each record based on ID (without EXEC_NAME condition).
SELECT REF_NO, SYMBOL, ID, EXEC_NAME, RANK
FROM (SELECT REF_NO, SYMBOL, ID, EXEC_NAME, ROW_NUMBER() OVER(PARTITION
BY ID ORDER BY EXEC_NAME
FROM TABLE1)
REF_NO SYMBOL ID EXEC_NAMERANK
1 AA 123 DL 1 1 AA 123 RR 2 2 BB 133 DL1
How should I modify this to acquire the desired result?
Any help would be appreciated
TIA DB Version Information:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bi PL/SQL Release 10.2.0.1.0 - Production Received on Tue Oct 17 2006 - 03:51:41 CDT
![]() |
![]() |