webForumDet fria alternativet

Ta bort användare

Databaser & SQL

2 svar · 520 visningar · startad av Vinnaren

Medlem sedan sep. 2005833 inlägg
Frågan#1

Har följande:

DELETE FROM Users WHERE UserId = (
SELECT DISTINCT(u.UserId) 
FROM Users AS u 
INNER JOIN Users AS u2
ON u.Email= u2.Email
WHERE u.UserId != u2.UserId
ORDER BY u2.UserId ASC
)

Denna tar bort alla användare som finns registrerade två gånger eller fler. Men nu vill jag behålla den användare som registrerades först, dvs har man två konton med samma email så vill jag ta bort den som registrerades senast.

tex

UserId----UserName------Email
1---------Test-----------Test@test.se
2---------Test2----------Test@test.se   <---- tas bort
Medlem sedan dec. 20025 483 inlägg
#2
delete
    users
from
    users u
where
    u.userid
<>
    ( select min(userid)
        from users
       where email = u.email )
Medlem sedan sep. 2005833 inlägg
#3

kanon, tack (y)

258 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)