Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- id | name | surname
- --------------------
- 1 | niko | surname
- 2 | niko | surname
- 3 | jane | surname
- 4 | jane | surname
- 5 | ivan | surname
- id | name | surname
- --------------------
- 1 | niko | surname
- 3 | jane | surname
- 5 | ivan | surname
- SELECT min(id), name, surname
- FROM `table`
- GROUP BY name, surname
- CREATE TEMPORARY TABLE `t_temp`
- as (
- SELECT min(id) as id
- FROM `table`
- GROUP BY name, surname
- );
- DELETE from `table`
- WHERE `table`.id not in (
- SELECT id FROM t_temp
- );
- ALTER IGNORE TABLE foobar ADD UNIQUE (name, surname)
- SELECT *
- FROM tablename
- INNER JOIN (SELECT Min(id) minid,
- name,
- surname
- FROM tablename
- GROUP BY name,
- surname
- HAVING Count(1) > 1) AS duplicatesTable
- ON ( duplicatesTable.name = tablename.name
- AND duplicatesTable.surname = tablename.surname
- AND duplicatesTable.minid <> tablename.id )
- delete from table where id in (select max(id) from table group by name having count(id)>1)
- DELETE FROM mytable WHERE id IN (SELECT id FROM (SELECT m.id
- FROM mytable m
- INNER JOIN (SELECT MAX(id) id, name, surname, COUNT(name) cnt
- FROM mytable
- GROUP BY name, surname
- HAVING cnt > 1) dupl
- ON m.name = dupl.name AND m.surname = dupl.surname AND m.id != dupl.id) tmp_table)
- delete from t1 a where id in
- (select max(id) from t1 where name in
- (select name from t1
- group by name
- having count(name )>1) and name =a.name );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement