Copiere inregistrari unice(fara duplicate) tabela1->tabela2

Întrebări legate de conectarea la baze de date MySQL prin intermediul PHP

Moderatori: Zamolxe, Moderatori

evolution
Average Member
Mesaje: 118
Membru din: Lun Noi 06, 2006 8:04 pm

Copiere inregistrari unice(fara duplicate) tabela1->tabela2

Mesajde evolution » Mar Dec 11, 2012 8:13 pm

Am o tabela care contine duplicate pe coloana "nume"
Vreau sa copiez doar inregistrari unice intr-o tabela noua (goala acum, identica ca structura cu cea actuala). Sunt vreo 500.000 de inregistrari.

Din tabela de mai jos vor merge maria,iulia si ion(1 buc, nu conteaza care) cu tot cu poza_1, poza_2.

id_p | nume | poza_1 | poza_2

1 ion ion-1.jpg ion-2.jpg
2 maria maria-1.jpg maria-2.jpg
3 ion ion-1.jpg ion-2.jpg
4 iulia iulia-1.jpg iulia-2.jpg
4 ion ion-1.jpg ion-2.jpg



Eu am facut ceva de genul, dar sta mult, cred ca din cauza acelui IN.

Cod: Selectaţi tot

$sql = "SELECT * FROM persoane WHERE nume IN (SELECT DISTINCT nume FROM persoane)";
$result = mysql_query ($sql);
while($row = mysql_fetch_array($result)){
..
$sql_insert = mysql_query("INSERT INTO persoane_new SET nume='$nume', poza_1='$poza_1', poza_2='$poza_2'");
}



diax10
New Member
Mesaje: 4
Membru din: Dum Dec 09, 2012 4:37 pm

Re: Copiere inregistrari unice(fara duplicate) tabela1->tabe

Mesajde diax10 » Mar Dec 11, 2012 8:20 pm

E si normal sa dureze ca proceseaza destule date...

Avatar utilizator
MihaiC
Senior Member
Mesaje: 1644
Membru din: Dum Mai 14, 2006 8:07 pm

Re: Copiere inregistrari unice(fara duplicate) tabela1->tabe

Mesajde MihaiC » Mar Dec 11, 2012 10:14 pm

Nu era mai simplu sa folosesti GROUP BY nume si sa faci o singura interogare ?

Cod: Selectaţi tot

SELECT * FROM persoane GROUP BY nume
Dev @ oblio.eu


Înapoi la “MySQL”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 4 vizitatori