Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Удалить строки / 9 сообщений из 9, страница 1 из 1
10.07.2014, 17:33:13
    #38693644
vorob
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить строки
Здравствуйте!
Есть повторяющиеся строки. С помощью DISTINCT я могу удалить дубликаты, но мне необходимо удалить полностью все.
Т.е. есть 2 повторяющиеся строки, мне необходимо удалить их обе, а не одну.
...
Рейтинг: 0 / 0
10.07.2014, 18:16:34
    #38693698
alex564657498765453
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить строки
vorobЗдравствуйте!
Есть повторяющиеся строки. С помощью DISTINCT я могу удалить дубликаты, но мне необходимо удалить полностью все.
Т.е. есть 2 повторяющиеся строки, мне необходимо удалить их обе, а не одну.


критерий дубля field - f1, id - PK

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
delete t

from table t
join 
(
select distinct t1.id from table t1 join table t2 on (t1.f1=t2.f2 and t1.id <> t2.id)

) tt on t.id = tt.id
...
Рейтинг: 0 / 0
10.07.2014, 18:29:50
    #38693715
meph
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить строки
alex564657498765453,

Почти тоже самое

Код: sql
1.
delete c1.* from comments c1 INNER JOIN comments c2 ON c1.comment=c2.comment AND c1.id!=c2.id;
...
Рейтинг: 0 / 0
10.07.2014, 19:03:25
    #38693748
alex564657498765453
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить строки
mephalex564657498765453,

Почти тоже самое

Код: sql
1.
delete c1.* from comments c1 INNER JOIN comments c2 ON c1.comment=c2.comment AND c1.id!=c2.id;



а вот я спецом обернул всё в подзапрос, ибо моя база вот так в упор отказываеться удалять.

хотя ловил случай даже когда оборачивание в запрос не давало удалять
...
Рейтинг: 0 / 0
10.07.2014, 19:26:27
    #38693763
meph
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить строки
А что за база такая? Delete из нескольких таблиц полностью валидный синтаксис, а вот Delete с использованием подзапроса по той же таблице конечно не пройдет.
Такая обертка отразится на производительности, хотя топиккастера это вряд ли сильно волнует. Peace
...
Рейтинг: 0 / 0
10.07.2014, 19:34:17
    #38693772
alex564657498765453
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить строки
mephА что за база такая? Delete из нескольких таблиц полностью валидный синтаксис, а вот Delete с использованием подзапроса по той же таблице конечно не пройдет.
Такая обертка отразится на производительности, хотя топиккастера это вряд ли сильно волнует. Peace

дык мускл, я не помню..сдесь гдето тему делал.

но помню что люди пишут что у них удаляет, а у меня не хотела удалять.
...
Рейтинг: 0 / 0
11.07.2014, 11:59:21
    #38694163
vorob
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить строки
meph, я так понял это с помощью двух таблиц. Есть одна таблица и в ней повторящиеся строки, которые нужно удалить.
...
Рейтинг: 0 / 0
11.07.2014, 17:48:48
    #38694677
meph
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить строки
Посмотрите внимательней: там одна таблица используется, но мы джойним ее саму с собой, а с1 и с2 - разные алиасы для той же самой таблицы.
...
Рейтинг: 0 / 0
14.07.2014, 10:12:02
    #38695666
vorob
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удалить строки
mephdelete c1.* from comments c1 INNER JOIN comments c2 ON c1.comment=c2.comment AND c1.id!=c2.id;

Я в sql слаб, очень слаб. Прошу вас описать, что здесь comments, что c1, c2.
Почему восклицательный знак в последнем выражении после c1.id!

Спасибо!
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Удалить строки / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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