Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/12/2010, 08:14
CanariasHosting
 
Fecha de Ingreso: abril-2009
Ubicación: Santa Cruz de Tenerife
Mensajes: 49
Antigüedad: 15 años, 1 mes
Puntos: 0
Borrar Registros Duplicados

Tengo una Tabla que tiene la siquiente estructura.

Código PHP:
CREATE TABLE IF NOT EXISTS `ganancias` (
  `
id_gananint(11NOT NULL auto_increment,
  `
usuario_gananvarchar(255NOT NULL,
  `
pais_gananvarchar(255NOT NULL,
  `
ip_gananvarchar(255NOT NULL,
  `
rango1_gananint(255NOT NULL,
  `
rango2_gananint(255NOT NULL,
  `
rango3_gananint(255NOT NULL,
  `
fechadate NOT NULL,
  `
procesarint(11NOT NULL,
  `
afiliadoint(11NOT NULL,
  
KEY `id_ganan` (`id_ganan`)
TYPE=MyISAM  AUTO_INCREMENT=
Y los insert son por ejemplo...

Código PHP:
INSERT INTO `ganancias` (`id_ganan`, `usuario_ganan`, `pais_ganan`, `ip_ganan`, `rango1_ganan`, `rango2_ganan`, `rango3_ganan`, `fecha`, `procesar`, `afiliado`) VALUES
(1142'Aces_G''Spain''00.00.00.01'010'2010-12-02'00),
(
1156'stuka2010''Germany'''00.00.00.01', 0, 1, 0, '2010-12-0300); 
Puede que tenga registros duplicados en al misma fecha y lo que hago es crear una tabla con la misma estructura y paso los registros de esta forma.

Código PHP:
INSERT INTO ganancias_nueva
SELECT 
*
FROM ganancias
GROUP BY ip_ganan
HAVING Count
(*) >=
Una vez echo esto vacio la principal y los vuelvo a copiar en la tabla original...

Código PHP:
INSERT INTO ganancias
SELECT 
*
FROM ganancias_nueva
GROUP BY ip_ganan
HAVING Count
(*) >=
Hasta hay todo correcto, esto es para ejecutarlo 1 vez al dia, por ejemplo a las doce.

El problema que tengo es que puede que tenga una ip en dos dias, y esa no quiero que la borre, lo que quiero que borre es cuando es la ip en el mismo dia, no se si me he explicado correctamente.

Si alquien conoce una forma mejor de hacerlo, o modificando algo....

Gracias