SQL найти дубликат записи и вставить в новый столбец - PullRequest
1 голос
/ 06 октября 2010

У меня есть таблица со столбцами: Дата, Телефон, Имя и Событие.

Мне нужен запрос, который сначала распознает повторяющуюся запись телефона, а затем присваивает имя тому, кто имеет более раннюю дату, в столбце события.

1 Ответ

2 голосов
/ 06 октября 2010

Использование:

UPDATE x
   SET x.event = y.name
  FROM YOUR_TABLE x
  JOIN YOUR_TABLE y ON y.phone = x.phone
  JOIN (SELECT t.phone,
               MIN(t.date) As min_date
          FROM YOUR_TABLE t
      GROUP BY t.phone
        HAVING COUNT(*) > 1) z ON z.phone = y.phone
                              AND z.min_date = y.date
                              AND z.min_date < x.date

Но это не касается, если есть дубликаты минимального значения.

...