Ta bort användare

Databaser & SQL

2 svar · 537 visningar · startad av Vinnaren

Medlem sedan sep. 2005833 inlägg
Trådstart#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)

250 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)