Oops...no, I meant to say "keep" the one with the latest insert timestamp and delete all of the others. Everyone seems to have caught the error; deleting the latest would allow duplicates to remain if there were more than 2 duplicate rows!
--- Rachel Carmichael <[EMAIL PROTECTED]> wrote: > t2.timestamp > t1.timestamp? > > he wants to delete the LATEST insert timestamp, right Paul? > > --- Regina Harter <[EMAIL PROTECTED]> wrote: > > Try this: > > > > Delete from my_table t1 > > where a = 2 and exists > > (select 'X' from my_table t2 > > where t2.a = t1.a > > and t2.b = t1.b > > and t2.c = t1.b > > and t2.d = t1.d > > and t2.timestamp < t1.timestamp) > > > > At 12:55 PM 11/1/01 -0800, you wrote: > > >Given a business rule that says a combination of three columns > must > > be > > >unique if and only if a fourth column equals a certain value, and > if > > >the table in question contains rows that violate this requirement, > > I'm > > >trying to write a single SQL statement that will remove the > > duplicates. > > > Of each set of duplicate rows, I'll delete the one with the > latest > > >insert timestamp. > > > > > >Let's call the columns > > > > > >a b c d timestamp > > > > > >The combination of b, c, and d must be unique if a = 2. > > > > > >I can get the duplicate row values along with the latest timestamp > > via > > > > > >select max(tstamp), a, b, c from > > >my_table group by a, b, c having count(*) > 1 > > > > > >But I can't figure out how to use that in a delete statement. > > > > > >Suggestions greatly appreciated! > > > > > > > > >Paul Baumgartel > > > > > > > > >__________________________________________________ > > >Do You Yahoo!? > > >Make a great connection at Yahoo! Personals. > > >http://personals.yahoo.com > > >-- > > >Please see the official ORACLE-L FAQ: http://www.orafaq.com > > >-- > > >Author: Paul Baumgartel > > > INET: [EMAIL PROTECTED] > > > > > >Fat City Network Services -- (858) 538-5051 FAX: (858) > 538-5051 > > >San Diego, California -- Public Internet access / Mailing > > Lists > > > >-------------------------------------------------------------------- > > >To REMOVE yourself from this mailing list, send an E-Mail message > > >to: [EMAIL PROTECTED] (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). > > > > -- > > Please see the official ORACLE-L FAQ: http://www.orafaq.com > > -- > > Author: Regina Harter > > INET: [EMAIL PROTECTED] > > > > Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 > > San Diego, California -- Public Internet access / Mailing > > Lists > > > -------------------------------------------------------------------- > > To REMOVE yourself from this mailing list, send an E-Mail message > > to: [EMAIL PROTECTED] (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). > > > __________________________________________________ > Do You Yahoo!? > Find a job, post your resume. > http://careers.yahoo.com > -- > Please see the official ORACLE-L FAQ: http://www.orafaq.com > -- > Author: Rachel Carmichael > INET: [EMAIL PROTECTED] > > Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 > San Diego, California -- Public Internet access / Mailing > Lists > -------------------------------------------------------------------- > To REMOVE yourself from this mailing list, send an E-Mail message > to: [EMAIL PROTECTED] (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). __________________________________________________ Do You Yahoo!? Find a job, post your resume. http://careers.yahoo.com -- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: Paul Baumgartel INET: [EMAIL PROTECTED] Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing Lists -------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: [EMAIL PROTECTED] (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).
