Гость
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Удаление дублирующих записей в SQL. / 12 сообщений из 12, страница 1 из 1
16.05.2020, 00:28
    #39958265
malo13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление дублирующих записей в SQL.
Здравствуйте. Как удалить из таблице А в колонке В, значение которые повторяются в таблице А1 в колонке В1?
...
Рейтинг: 0 / 0
16.05.2020, 09:31
    #39958282
Alex_Ustinov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление дублирующих записей в SQL.
malo13,

по шагам, по смыслу
--значение которые повторяются в таблице А1 в колонке В1?
Код: sql
1.
SELECT B1 FROM A1 GROUP BY B1 HAVING COUNT(*)>1;


Как удалить из таблице А в колонке В
Код: sql
1.
DELETE FROM A , (SELECT B1 FROM A1 GROUP BY B1 HAVING COUNT(*)>1) as T2 WHERE A.B=t2.B1
...
Рейтинг: 0 / 0
16.05.2020, 10:18
    #39958288
malo13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление дублирующих записей в SQL.
T2?
...
Рейтинг: 0 / 0
16.05.2020, 11:39
    #39958308
Gluck99
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление дублирующих записей в SQL.
malo13
T2?
Это алиас (псевдоним) для результата запроса из А1
Код: sql
1.
SELECT B1 FROM A1 GROUP BY B1 HAVING COUNT(*)>1

иначе вы не сможете обратиться к полям выборки. Алиас может быть любым, кроме названий таблиц.
...
Рейтинг: 0 / 0
16.05.2020, 16:11
    #39958371
malo13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление дублирующих записей в SQL.
я попробовал такой способ.

DELETE FROM a WHERE a.b IN (SELECT b1 FROM a1);

есть ли какое нибудь фундаментальное отличие?
...
Рейтинг: 0 / 0
16.05.2020, 16:14
    #39958372
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление дублирующих записей в SQL.
malo13
есть ли какое нибудь фундаментальное отличие?
Есть. В трактовке фразы "значение которые повторяются в таблице А1 в колонке В1". Ее имеет смысл раскрыть шире.
...
Рейтинг: 0 / 0
16.05.2020, 16:28
    #39958376
malo13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление дублирующих записей в SQL.
можете сказать почему? чем это лучше?
...
Рейтинг: 0 / 0
16.05.2020, 17:41
    #39958389
malo13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление дублирующих записей в SQL.
выдает ошибку. не могли бы вы помочь?


mysql> SELECT telnum FROM black_list GROUP BY telnum HAVING COUNT(*)>1;
Empty set (0.00 sec)

mysql> DELETE FROM customers , (SELECT telnum FROM black_list GROUP BY telnum HAVING COUNT(*)>1) as T2 WHERE customers.telnum=t2.telnum;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(SELECT telnum FROM black_list GROUP BY telnum HAVING COUNT(*)>1) as T2 WHERE cu' at line 1
...
Рейтинг: 0 / 0
16.05.2020, 18:45
    #39958403
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление дублирующих записей в SQL.
malo13,

попробуйте так:
Код: sql
1.
DELETE A FROM A JOIN A1 WHERE A.B=A1.B1
...
Рейтинг: 0 / 0
16.05.2020, 19:57
    #39958419
malo13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление дублирующих записей в SQL.
Спасибо. Работает. Но мне все так же интересно в чем разница между этими двумя методами?

DELETE FROM a WHERE a.b IN (SELECT b1 FROM a1);

и

DELETE A FROM A JOIN A1 WHERE A.B=A1.B1
...
Рейтинг: 0 / 0
16.05.2020, 20:07
    #39958423
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление дублирующих записей в SQL.
malo13
Спасибо. Работает. Но мне все так же интересно в чем разница между этими двумя методами?

DELETE FROM a WHERE a.b IN (SELECT b1 FROM a1);

и

DELETE A FROM A JOIN A1 WHERE A.B=A1.B1
Логически одинаковые.
По быстродействию IN (SELECT ...) в не самых свежих версиях MySQL работает сильно медленнее.
...
Рейтинг: 0 / 0
16.05.2020, 20:14
    #39958428
malo13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление дублирующих записей в SQL.
Большое спасибо!
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Удаление дублирующих записей в SQL. / 12 сообщений из 12, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]