Jeg ønsker en query som skal tjekke om der findes duplicates og hvis det er muligt derefter sletter dem der findes, så data strukturen bliver "indtakt" igen.
Med kunstig intelligens skaber HP’s nye OmniBook X 14 en unik og skræddersyet brugeroplevelse målrettet dem, der ønsker høj ydeevne og intelligente funktioner
DELETE FROM UserRelations t1 WHERE Id NOT IN (SELECT MAX(t2.Id) FROM UserRelations t2 WHERE t2.SourceId = t1.SourceId AND t2.DestinationId = t1.DestinationId)
DELETE FROM UserRelations t1 WHERE Id NOT IN (SELECT MIN(t2.Id) FROM UserRelations t2 WHERE t2.SourceId = t1.SourceId AND t2.DestinationId = t1.DestinationId)
DELETE FROM UserRelations WHERE Id NOT IN (SELECT mid FROM (SELECT MIN(t2.Id) AS mid,SourceId,DestinationId FROM UserRelations GROUP BY SourceId,DestinationId) x)
Et gammelt spørgsmål, men derfor kan den jo godt få endnu et forslag :) Det kan klares med en CTE:
WITH Delete_CTE AS ( SELECT ROW_NUMBER() OVER (PARTITION BY SourceId, DestinationId ORDER BY ID) AS RowNumber FROM eks2 )
DELETE FROM Delete_CTE WHERE RowNumber > 1
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.