Radera dubletter?

Databaser & SQL

2 svar · 226 visningar · startad av patrickpolly

Medlem sedan mars 2001190 inlägg
Trådstart#1

Någon som hittat ett kommando för att radera dubletter? Jag har tex följande rader:

email | password
name@host.com | hej
name2@host.com | hej
name@host.com | hej

Nu vill jag radera alla rader som redan finns en gång så resultatet blir:
email | password
name@host.com | hej
name2@host.com | hej

Jag kan förvisso skriva ihop ett perlscript som gör det men om det går att göra direkt i MySQL är ju det enklare :)

//Patrik

Medlem sedan juni 20008 205 inlägg
#2

Jag tror faktiskt inte att det går att göra direkt i MySQL, eftersom det inte stöder subqueries. Däremot att plocka fram dubletter är ju enkelt...

SELECT * FROM tabell t1, tabell t2 WHERE t1.email = t2.email
/* och alternativt även */
AND t1.något_unikt <> t2.något_unikt;
Medlem sedan mars 2001190 inlägg
#3

Isch, då måste det perlas i alla fall antar jag :/

//Patrik

249 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)