@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

Спасибо.
  • Вопрос задан
  • 896 просмотров
Решения вопроса 1
ThunderCat
@ThunderCat
{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. Если есть то удаляем ее.
Ответ написан
@nozzy
Silex, 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
Ответ написан
Ваш ответ на вопрос

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

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