powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Удаление дублей по условию
23 сообщений из 23, страница 1 из 1
Удаление дублей по условию
    #39454250
dmr55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно из таблицы удалить все дубликаты по столбцу Gik

Wet id Gik
5 1 r
8 2 e
9 3 r
6 4 e
2 5 c
...
Рейтинг: 0 / 0
Удаление дублей по условию
    #39454259
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И что не получается?
...
Рейтинг: 0 / 0
Удаление дублей по условию
    #39454264
dmr55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мой вариант
DELETE t1 FROM `tab` t1, `tab` t2 WHERE t1.Gic =t2. Gic AND t1.id > t2. id;
...
Рейтинг: 0 / 0
Удаление дублей по условию
    #39454265
dmr55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
точнее
DELETE t1 FROM `tab` t1, `tab` t2 WHERE t1.Gik =t2. Gik AND t1.id > t2. id;
...
Рейтинг: 0 / 0
Удаление дублей по условию
    #39454270
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
t1.Gik =t2. Gik - ты сравнил одно и то же (Наличие пробела отношу к проблеме синтаксиса)
t1.id > t2. id - аналогично
...
Рейтинг: 0 / 0
Удаление дублей по условию
    #39454271
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А "Удалить дубликаты" по твоему это:
1. Удалить все записи, в которых поле Gik имеет неуникальное значение.
На твоем примере останется только последняя запись с id =5)
2. Оставить только одну из записей с неуникальным Gik
Во втором варианте возникает естественный вопрос - какую из записей оставлять?
...
Рейтинг: 0 / 0
Удаление дублей по условию
    #39454274
dmr55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1
DELETE t1 FROM `tab` t1, `tab` t2 WHERE t1.Gik =t2. Gik AND t1.id > t2. id;
по данному запросу результат такой
Wet id Gik
5 1 r
8 2 e
2 5 c

2
Да нужно оставить только одну запись с уникальным Gik
Нужно из таблицы удалить все дубли по столбцу Gik
...
Рейтинг: 0 / 0
Удаление дублей по условию
    #39454277
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dmr55точнее
DELETE t1 FROM `tab` t1, `tab` t2 WHERE t1.Gik =t2. Gik AND t1.id > t2. id;

+
Посмотрел синтаксис DELETE в MySQL. Сильно удивился.
Но если предположит tab это таблица с дублями, то её надо сначала сформировать.
А если это зеркало `t1`, то надо подумать, как это будет работать при затроении/зачетверении.
...
Рейтинг: 0 / 0
Удаление дублей по условию
    #39454279
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dmr551
Да нужно оставить только одну запись с уникальным Gik

Какую именно. Их две. И они разные.
...
Рейтинг: 0 / 0
Удаление дублей по условию
    #39454282
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dmr551
DELETE t1 FROM `tab` t1, `tab` t2 WHERE t1.Gik =t2. Gik AND t1.id > t2. id;
по данному запросу результат такой
Wet id Gik
5 1 r
8 2 e
2 5 c

Результат должен быть таким,
или ты получил такой результат, и им недоволен?
...
Рейтинг: 0 / 0
Удаление дублей по условию
    #39454283
dmr55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таблица одна
...
Рейтинг: 0 / 0
Удаление дублей по условию
    #39454285
dmr55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне сделано замечание, что синтаксис delete неверный, хотя все работает, вот и я обратился на форум
...
Рейтинг: 0 / 0
Удаление дублей по условию
    #39454286
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ок.
Тогда объясни мне, незнающему DELETE в MYSQL
Что значит наличие пробела в "t2. id" и "t2. Gik"

Как таблица называется в базе.
...
Рейтинг: 0 / 0
Удаление дублей по условию
    #39454287
dmr55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пробел поставил случайно
...
Рейтинг: 0 / 0
Удаление дублей по условию
    #39454289
dmr55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
таблица tab конешно
...
Рейтинг: 0 / 0
Удаление дублей по условию
    #39454291
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда Х.З.
...
Рейтинг: 0 / 0
Удаление дублей по условию
    #39454293
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
ALTER IGNORE TABLE `table`
ADD UNIQUE INDEX idx_Gik (Gik);
...
Рейтинг: 0 / 0
Удаление дублей по условию
    #39455082
dmr55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
данный запрос у меня не работает
...
Рейтинг: 0 / 0
Удаление дублей по условию
    #39455085
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так у тебя твой запрос работает.
У тебя есть претензия преподавателя по синтаксису.
...
Рейтинг: 0 / 0
Удаление дублей по условию
    #39455087
dmr55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
также как ты говорил сделал удаление путем создания временной таблицы, но необходимо подкорректировать синтаксис моего первого удаления, хотя этот пример приводят многие в интернете и даже он встречается в некоторых справочных материалах
...
Рейтинг: 0 / 0
Удаление дублей по условию
    #39455114
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я говорю о том, что задача сейчас не в создании запроса,
а в выяснении того, что великий ум твоего преподавателя нашел "неуместного" в данном запросе.
...
Рейтинг: 0 / 0
Удаление дублей по условию
    #39455122
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dmr55Мне сделано замечание, что синтаксис delete неверный
Синтаксис запроса
Код: sql
1.
2.
3.
4.
5.
DELETE t1 
FROM `tab` t1
   , `tab` t2 
WHERE t1.Gik =t2. Gik 
  AND t1.id > t2. id;


абсолютно верный и полностью соответствует официальной документации 13.2.2 DELETE Syntax :
Multiple-Table Syntax

Код: sql
1.
2.
3.
4.
DELETE [LOW_PRIORITY] [QUICK] [IGNORE]
    tbl_name[.*] [, tbl_name[.*]] ...
    FROM table_references
    [WHERE where_condition]



Замечание о неверном синтаксисе свидетельствует о малограмотности "замечателя" в данном вопросе. Было бы неплохо узнать его обоснование "неверности" синтаксиса - может, цитатка на Баш получится...
...
Рейтинг: 0 / 0
Удаление дублей по условию
    #39455135
dmr55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina, спасибо, буду выяснять и приводить доказательства
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Удаление дублей по условию
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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