```sql WITH CleanClients AS ( SELECT *, ROW_NUMBER() OVER(PARTITION BY phone ORDER BY client_id) as row_num FROM clients ) SELECT * FROM CleanClients WHERE row_num = 1; ``` Что делать: Функция ROW_NUMBER делит таблицу на группы по номеру телефона и присваивает каждой строке порядковый номер. Сортировка по client_id гарантирует, что останется самая ранняя запись клиента. Внешний запрос отфильтровывает все дубли, оставляя только строки с номером один. Как пользоваться: Скопируйте код в редактор SQL в Excel. Замените phone и client_id на реальные названия ваших столбцов. Запустите запрос и выгрузите результат на новый лист, чтобы сравнить с исходной таблицей перед окончательной заменой. ```sql WITH CleanClients AS ( SELECT *, ROW_NUMBER() OVER(PARTITION BY phone, email ORDER BY client_id) as row_num FROM clients ) SELECT * FROM CleanClients WHERE row_num = 1; ``` Что делать: Добавляет второе поле email в условие PARTITION BY. Теперь SQL будет считать строки дублями только при полном совпа
Как найти и убрать дубли клиентов по телефону или почте в таблице Excel через SQL
3 дня назад3 дня назад
1
1 мин