If you use IGNORE in the insert IGNORE into new_table you will get the
result you want.

> -----Original Message-----
> From: walt [mailto:[EMAIL PROTECTED]]
> Sent: Tuesday, July 30, 2002 3:11 PM
> To: David Kramer; [EMAIL PROTECTED]
> Subject: Re: removing duplicate records
> 
> Thanks David!
> 
> The entire row, not just one or two columns, is a duplicate which
makes
> life
> fun..
> :-)
> 
> I can key or unique index only a few columns once the data is cleaned
up
> to
> prevent this problem.
> 
> If I create an identical table and include either a key or unique
index
> (innodb seems to like the index better) on all the columns and do a
> 
> insert into new_table using select * from old_table
> 
> will mysql quit inserting once a duplicate is hit, or will it keep
going
> and
> skip over the duplicates?
> 
> walt
> 
> On Tuesday 30 July 2002 03:57 pm, David Kramer wrote:
> > You could always use an insert statement into a second table, when
> > performing the insert use a GROUP BY clause to consalidate your
records
> >
> > something along these lines but this isnt 100% accurate, I would
need
> the
> > table DDL and business rules behind the DEDUP
> >
> > Insert into tableB
> > (
> >     column names, ...
> >
> >
> > )
> > (select
> >     column a,
> >     column b,
> >     max(column c), --or you could use MIN
> > from
> >     table A
> >
> > group by
> >     column a,
> >     column b);
> >
> >
> >
> >
> >
> > **JUST make sure your Identifing column, i.e. the column you use to
tell
> > which is a duplicate record or not is included in the group by.
Also
> what
> > are the business rules behind the DEDUP(Deduplication)? Are the
other
> > values contained in the other columns necessary?  If you tell me
more
> about
> > what your trying to do and provide some Table DDL I can help you
write
> this
> > query.  Just let me know!
> >
> > Thanks,
> >
> > DK
> >
> >   group by statement
> >
> > -----Original Message-----
> > From: walt [mailto:[EMAIL PROTECTED]]
> > Sent: Tuesday, July 30, 2002 12:43 PM
> > To: [EMAIL PROTECTED]
> > Subject: removing duplicate records
> >
> >
> > Does anyone know a good way find and remove duplicate records from a
> table?
> > I can create an identical table structure and use a script to pull
> records
> > from the existing table and insert them into the new table if they
are
> not
> > duplicates, but I'd rather not do it that way. Here is an example of
an
> sql
> > script  I use for Oracle databases
> >
> > delete   from employee a
> > where    rowid < (
> > select  max(rowid)
> > from    employee b
> > where   b.COL1 = a.COL1
> > and     b.COL2 = a.COL2
> > and     b.COL# = a.COL#);
> >
> > sql, query
> >
> > Thanks in advance!
> 
> 
> 
> 
> ---------------------------------------------------------------------
> Before posting, please check:
>    http://www.mysql.com/manual.php   (the manual)
>    http://lists.mysql.com/           (the list archive)
> 
> To request this thread, e-mail <[EMAIL PROTECTED]>
> To unsubscribe, e-mail <mysql-unsubscribe-
> [EMAIL PROTECTED]>
> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php


---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to