powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Удаление дублирующих записей в SQL.
12 сообщений из 12, страница 1 из 1
Удаление дублирующих записей в SQL.
    #39958265
malo13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. Как удалить из таблице А в колонке В, значение которые повторяются в таблице А1 в колонке В1?
...
Рейтинг: 0 / 0
Удаление дублирующих записей в SQL.
    #39958282
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
Удаление дублирующих записей в SQL.
    #39958288
malo13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
T2?
...
Рейтинг: 0 / 0
Удаление дублирующих записей в SQL.
    #39958308
Gluck99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
malo13
T2?
Это алиас (псевдоним) для результата запроса из А1
Код: sql
1.
SELECT B1 FROM A1 GROUP BY B1 HAVING COUNT(*)>1

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

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

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


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
Удаление дублирующих записей в SQL.
    #39958403
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
malo13,

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

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

и

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


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