elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  Eliminar registros repetidos dejando 1
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Eliminar registros repetidos dejando 1  (Leído 1,878 veces)
Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.704


WOS & Khan & Calero LDN


Ver Perfil WWW
Eliminar registros repetidos dejando 1
« en: 19 Septiembre 2013, 23:33 »

Supongamos que tengo un registro que se repite varias veces,

Código:
ID1 ID2 ID3
204 5616 45
204 5616 45
204 5616 45
204 5616 45

Necesito eliminar los ultimos 3 registros, dejando el primero, como identifico las filas a eliminar.


En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
#!drvy


Desconectado Desconectado

Mensajes: 5.559



Ver Perfil WWW
Re: Eliminar registros repetidos dejando 1
« Respuesta #1 en: 20 Septiembre 2013, 01:41 »

Y tu primary key ?  Si tienes algún identificador único (auto-increment) es bastante fácil.

Ejemplo:
ID   ID1    ID2     ID3
1     204    5616   45
2     204    5616   45
3     204    5616   45
4     204    5616   45

Código
  1. DELETE p1 FROM shellroot AS p1,shellroot AS p2 WHERE p1.ID > p2.ID AND p1.ID1=p2.ID1 AND p1.ID2=p2.ID2 AND p1.ID3=p2.ID3

Esto hará eliminar todas menos ID=1.

Sino, puedes mirar esto:
http://www.databasejournal.com/features/mysql/article.php/10897_2201621_2/Deleting-Duplicate-Rows-in-a-MySQL-Database.htm

La idea es crear una tabla temporal, meter todos los registros usando DISTINCT borrar la tabla principal y volver a crearla con registros de la temporal.

Saludos


En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.704


WOS & Khan & Calero LDN


Ver Perfil WWW
Re: Eliminar registros repetidos dejando 1
« Respuesta #2 en: 20 Septiembre 2013, 05:11 »

El problema es que aveces pueden ser 1, 2, 3, 4, ... elementos duplicados. Pero lo acabe de solucionar agregando un valor autonumerico y después eliminarlo.
En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Eliminar elementos repetidos de un vector
Programación General
GaLaN GaLaNaSo 3000 2 57,021 Último mensaje 16 Noviembre 2011, 06:44
por osolmm
Eliminar Caracteres Repetidos « 1 2 »
.NET (C#, VB.NET, ASP)
birdez 11 11,538 Último mensaje 31 Mayo 2012, 18:21
por birdez
Eliminar duplicados o repetidos « 1 2 »
.NET (C#, VB.NET, ASP)
luis456 15 6,282 Último mensaje 1 Mayo 2015, 19:36
por luis456
Por favor, ayuda con el máximo valor de unos registros repetidos ¿dos where?
PHP
bgnumis 5 1,193 Último mensaje 10 Noviembre 2015, 21:52
por bgnumis
Eliminar todos los repetidos de una lista
Programación C/C++
palacio29 2 464 Último mensaje 3 Julio 2020, 12:25
por 98Fran
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines