Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FROM inscripcion
GROUP BY nombre, ape_pat, ape_mat
HAVING COUNT( * ) >1
LIMIT 0 , 30
DELETE inscripcion
FROM inscripcion, holdkey
WHERE inscripcion.id = holdkey.id
insert tmpTable
(id)
select id
from inscripcion ins
where exists
(
select *
from inscripcion ins2
where ins2.nombre = ins.nombre
and ins2.ape_pat = ins.ape_pat
and ins2.ape_mat = ins.ape_mat
and ins2.id > ins.id
);
delete
from inscripcion
where ID in (select id from tmpTable);
1
2
3
4
SELECT id, count(*)
FROM t1
GROUP BY id
HAVING count(*)>1
Con esta sentencia tenemos todos los id y las veces que se repiten.
1
2
3
set rowcount 1
delete from t1
where id=1 and id=2
Antes de eliminar las filas deberiamos comprobar si la fila entera esta duplicada
pq puede que sean los id iguales pero diferentes atributos, en ese caso deberiamos
analizar las filas para ver que datos incluidos son los validos.
1
2
3
4
SELECT id, count(*)
FROM t1
GROUP BY id
HAVING count(*) > 1
2 � Seleccione los valores de las claves duplicadas e incl�yalas en otra tabla.
1
2
3
4
5
SELECT id, col3=count(*)
INTO holdkey
FROM t1
GROUP BY id
HAVING count(*) > 1
3 � Seleccione las filas duplicadas e incl�yalas en una tabla contenedora,
eliminando los duplicados en el mismo proceso. Por ejemplo:
1
2
3
4
5
SELECT DISTINCT t1.*
INTO holddups
FROM t1, holdkey
WHERE t1.col1 = holdkey.col1
AND t1.col2 = holdkey.col2
4- En este momento, en la tabla holddups tendremos todas las filas unicas.
1
2
3
SELECT id, count(*)
FROM holddups
GROUP BY id
5- Elimine las filas duplicadas en la tabla original.
1
2
3
DELETE t1
FROM t1, holdkey
WHERE t1.id = holdkey.id
6 � Incluimos las filas unicas en la tabla original.
1
INSERT t1 SELECT * FROM holddups