Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> Re: Renumber a set of grupped rows?

Re: Renumber a set of grupped rows?

From: Mark Richard <mrichard_at_transurban.com.au>
Date: Tue, 20 Jan 2004 14:49:26 -0800
Message-ID: <F001.005DDAEB.20040120144926@fatcity.com>

Hi Maryann,

I can do this easily when creating a new table using:

create table new_table as
select emp_id,

      row_number() over (partition by emp_id order by rec_id) as rec_id from original_table;

Translating this into an update statement is probably a bit awkward for me - I'd just create a new table and do some renaming (as long as that's a viable option for you). If not, hopefully someone will explain how this could be constructed as a single update statement.

Regards,

      Mark.

PS: Otherwise, if you are on Oracle 9 you could create some anonymous pl/sql using the above statement as a cursor but include the rowid as a field. Loop through the cursor, updating rec_id where rowid = cursor.rowid. Unfortunately this won't work easily on Oracle 8 since the PL/SQL engine doesn't know about analytical functions - you'd have to add another layer of complexity (probably a temporary table).

                                                                                                                                      
                      Maryann Atkinson                                                                                                
                      <maryann_30_at_yahoo        To:       Multiple recipients of list ORACLE-L <ORACLE-L_at_fatcity.com>                  
                      .com>                    cc:                                                                                    
                      Sent by:                 Subject:  Renumber a set of grupped rows?                                              
                      ml-errors_at_fatcity                                                                                               
                      .com                                                                                                            
                                                                                                                                      
                                                                                                                                      
                      21/01/2004 09:24                                                                                                
                      Please respond to                                                                                               
                      ORACLE-L                                                                                                        
                                                                                                                                      
                                                                                                                                      




I have a 10000-rows table with 2 columns, Emp_ID and Req_ID.

There are about 150 different emp_ids in these 10000+ records.

What I want to do is the following:

For every different Emp_id, I need the Rec_ids that corresponds to it to be updated/renumbered starting from 1 and keep going up by 1.

So I want it to look something like this:

Emp_ID Req_ID

10001       001
10001       002
10001       003
10001       004
10001       005
10001       006
10001       007
10001       008


10002       001
10002       002
10002       003
10002       004
10002       005


10003       001

10004       001
10004       002
10004       003
10004       004
10004       005
10004       006


etc

Any ideas?

Thanks,
maa

--
Please see the official ORACLE-L FAQ: http://www.orafaq.net
--
Author: Maryann Atkinson
  INET: maryann_30_at_yahoo.com

Fat City Network Services    -- 858-538-5051 http://www.fatcity.com
San Diego, California        -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).






<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<---->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Privileged/Confidential information may be contained in this message. If you are not the addressee indicated in this message (or responsible for delivery of the message to such person), you may not copy or deliver this message to anyone. In such a case, you should destroy this message and kindly notify the sender by reply e-mail or by telephone on (03) 9612-6999 or (61) 3 9612-6999. Please advise immediately if you or your employer does not consent to Internet e-mail for messages of this kind. Opinions, conclusions and other information in this message that do not relate to the official business of Transurban Infrastructure Developments Limited and CityLink Melbourne Limited shall be understood as neither given nor endorsed by them.
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<---->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- Please see the official ORACLE-L FAQ: http://www.orafaq.net -- Author: Mark Richard INET: mrichard_at_transurban.com.au Fat City Network Services -- 858-538-5051 http://www.fatcity.com San Diego, California -- Mailing list and web hosting services --------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).
Received on Tue Jan 20 2004 - 16:49:26 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US