Как удалить только одну строку из 2-х одинаковых строк? - PullRequest
0 голосов
/ 31 мая 2018

У меня есть две повторяющиеся строки в таблице, я хочу удалить только одну из них и сохранить другую строку. Как я могу это сделать?

1 Ответ

0 голосов
/ 31 мая 2018

Код PostGres может немного отличаться, но вот пример из TSQL, который делает это с CTE:

; WITH duplicates
AS (
    SELECT ServerName ,
           ProcessName ,
           DateCreated ,
           RowRank = ROW_NUMBER() OVER(PARTITION BY ServerName, ProcessName, DateCreated ORDER BY 1)
    FROM dbo.ErrorLog
    )
DELETE e
FROM dbo.ErrorLog e
    JOIN duplicates d
        ON d.ServerName = e.ServerName
        AND d.ProcessName = e.ProcessName
        AND d.DateCreated = e.DateCreated
        AND d.RowRank <> 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...