Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Como Eliminar registros repetidos

Estas en el tema de Como Eliminar registros repetidos en el foro de Mysql en Foros del Web. En esta consulta busco los regisrtos repetidos y funciona bien, ahora necesitaria borrar esos mismos registros seleccionados. Como quedaria la consulta? le agrego Delete col_nombre ...
  #1 (permalink)  
Antiguo 21/10/2009, 14:06
 
Fecha de Ingreso: noviembre-2007
Mensajes: 73
Antigüedad: 16 años, 4 meses
Puntos: 2
Como Eliminar registros repetidos

En esta consulta busco los regisrtos repetidos y funciona bien, ahora necesitaria borrar esos mismos registros seleccionados. Como quedaria la consulta? le agrego Delete col_nombre ylisto?

Cita:

SELECT col_nombre From tabla_nombre
GROUP BY col_nombre
HAVING count(col_nombre)>1
Muchos saludos
  #2 (permalink)  
Antiguo 21/10/2009, 14:11
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 1 mes
Puntos: 360
Respuesta: Como Eliminar registros repetidos

Con un ejemplo

Código mysql:
Ver original
  1. mysql> create table repetidos1(id integer,nombre text);
  2. Query OK, 0 rows affected (0.01 sec)
  3.  
  4. mysql> insert into repetidos1 values(1,'daniel');
  5. Query OK, 1 row affected (0.00 sec)
  6.  
  7. mysql> insert into repetidos1 values(1,'daniel');
  8. Query OK, 1 row affected (0.00 sec)
  9.  
  10. mysql> insert into repetidos1 values(1,'daniel');
  11. Query OK, 1 row affected (0.00 sec)
  12.  
  13. mysql> insert into repetidos1 values(2,'sara');
  14. Query OK, 1 row affected (0.00 sec)
  15.  
  16. mysql> insert into repetidos1 values(2,'sara');
  17. Query OK, 1 row affected (0.00 sec)
  18.  
  19. mysql> insert into repetidos1 values(2,'sara');
  20. Query OK, 1 row affected (0.00 sec)
  21.  
  22. mysql> insert into repetidos1 values(2,'sara');
  23. Query OK, 1 row affected (0.00 sec)
  24.  
  25. mysql> create temporary table repetidos2(id integer,nombre text);
  26. Query OK, 0 rows affected (0.02 sec)
  27.  
  28. mysql> insert into repetidos2 select distinct id,nombre from repetidos1;
  29. Query OK, 2 rows affected (0.01 sec)
  30. Records: 2  Duplicates: 0  Warnings: 0
  31.  
  32. mysql> select *from repetidos1;
  33. +------+--------+
  34. | id   | nombre |
  35. +------+--------+
  36. |    1 | daniel |
  37. |    1 | daniel |
  38. |    1 | daniel |
  39. |    2 | sara   |
  40. |    2 | sara   |
  41. |    2 | sara   |
  42. |    2 | sara   |
  43. +------+--------+
  44. 7 rows in set (0.00 sec)
  45.  
  46. mysql> delete from repetidos1;
  47. Query OK, 7 rows affected (0.02 sec)
  48.  
  49. mysql> insert into repetidos1 select *from repetidos2;
  50. Query OK, 2 rows affected (0.00 sec)
  51. Records: 2  Duplicates: 0  Warnings: 0
  52.  
  53. mysql> select *from repetidos1;
  54. +------+--------+
  55. | id   | nombre |
  56. +------+--------+
  57. |    1 | daniel |
  58. |    2 | sara   |
  59. +------+--------+
  60. 2 rows in set (0.00 sec)
  61.  
  62. mysql>
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 25/03/2010, 13:53
 
Fecha de Ingreso: febrero-2004
Mensajes: 1.987
Antigüedad: 20 años, 1 mes
Puntos: 22
Respuesta: Como Eliminar registros repetidos

Gratitud por la orientación HUESOS.

Ten la amabilidad de indicarnos:

Para hacer el siguiente QUERY se debe hacer tambien una multitud de QUERYS?:

NOTA: En T1 y T2 existe el campo 'frutatal'
en T1 existe cantidades
en T2 existe SOLO total

-------------------------
UPDATE EL CAMPO T2.total WHERE fruta='talfruta'
CON (VALOR ACTUAL DE T2.total+EL RESULTADO DE SUMAR COLUMNA T1.cantidades WHERE fruta='talfruta')
-------------------------

Huesos, con una cantidad N de QUERYS puede hacerse, sin embargo, cual seria la manera MINIMA ?
  #4 (permalink)  
Antiguo 26/03/2010, 04:22
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años
Puntos: 574
Respuesta: Como Eliminar registros repetidos

Código MySQL:
Ver original
  1. SELECT T1.fruta,Sum(T1.cantidad) AS total
  2. FROM T1
  3. GROUP BY T1.fruta;

No te sirve?

Puedes crear una vista...

Código MySQL:
Ver original
  1. SELECT T2.fruta,IFNULL(Sum(T1.cantidad),0) AS total
  2. FROM T2 LEFT JOIN T1
  3. ON T2.fruta=T1.fruta
  4. GROUP BY T1.fruta;

Para que quieres hacer el UPDATE así siempre estara actualizado pase lo que pase con T1...

Quim

Última edición por quimfv; 26/03/2010 a las 04:28
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:04.