@LebedevStr

Как убрать дубли в SQL таблицы?

Есть таблица с таким содержимым:

cname | cmail
--------------------
Abyz | abyyy@mail.com
StroyMast | stroymast@mail.com
Clever Shop | cleve@mail.com
Clever Shop 3 | cleve@mail.com
Big Mart 1 | bmart@mail.com
Big Mart 2 | bmart@mail.com

Нужно убрать дубли по колонке cmail.

Результат

cname | cmail
--------------------
Abyz | abyyy@mail.com
StroyMast | stroymast@mail.com
Clever Shop | cleve@mail.com
Big Mart 1 | bmart@mail.com

Спасибо.
  • Вопрос задан
  • 1275 просмотров
Решения вопроса 1
ThunderCat
@ThunderCat Куратор тега MySQL
{PHP, MySql, HTML, JS, CSS} developer
сделать таблицу дубль и перенести все уникальные значения
INSERT INTO TestTable (cname, cmail)
SELECT cname, cmail
FROM Users
group by cmail

или
SELECT cname, cmail
INTO TestTable 
FROM Users
group by cmail
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
Комментировать
@hscode
Самый простой вариант
1. В цикле пробежаться по всем записям в таблице
2. При чтении каждой записи делать поиск по таблице, нету ли такой записи еще ?
3. Если есть то удаляем ее.
Ответ написан
@mletov
SELECT MIN(cname), cmail
FROM table
GROUP BY cmail
Ответ написан
Комментировать
@nozzy
Symfony, Laravel, SQL
SELECT	
t1.cname, t1.cmail
FROM
(
	SELECT cname, cmail,
       @cmail_rank := IF(@current_cmail = cmail, @cmail_rank + 1, 1) AS cmail_rank,
       @current_cmail := cmail 
  FROM your_table
  ORDER BY cname, cmail
) t1
WHERE t1.cmail_rank = 1
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы