У меня есть таблица под названием «test», и у нее есть 4 столбца, идентификатор, имя, адрес, телефон. Существует так много повторяющихся данных. То, что я хочу, это запрос, чтобы добавить номера телефонов в кулачную строку с помощью '/' и удалить другие строки. посмотрите изображение. MYSQL Удалить дублирование
ответ
Быстрых попробовать.
Вы можете сделать это, чтобы добавить все телефонные номера первой записи (разделенные запятой, вы можете добавить PARM изменить это на слэш, но вместо этого будет еще хуже идея)
UPDATE test a
INNER JOIN (SELECT name, address, GROUP_CONCAT(phone) AS AllPhone, MIN(id) AS MinId FROM test GROUP BY name, address) b
ON a.name = b.name
AND a.address = b.address
AND a.id = b.MinId
SET a.phone = b.AllPhone
Затем удалите другое что-то вроде этого
DELETE a
FROM test a
LEFT JOIN (SELECT name, address, MIN(id) AS MinId FROM test GROUP BY name, address) b
ON a.id = b.MinId
WHERE b.MinId IS NULL
Обратите внимание, что это собирается дать вам разделители список телефонных номеров для имени/адреса, который является основной головной болью иметь дело в будущем, а также знак плохо разработанная база данных.
Положите запрос удивительно. большое спасибо :) – user2160335
команда удаления не работает. ничего не происходит, кроме индикатора, оживляющего в php myadmin. – user2160335
Просто сбил тестовый стол и попробовал его для себя, и он работает. Может показаться неплохо занять некоторое время в зависимости от индексов. – Kickstart
Для удаления других данных, использовать интерфейс PHPMuAdmin, и вы можете удалить их или создать страницу с администратором, где вы можете динамически изменять и удалять данные в вашей базе данных
Если есть имя/адрес/идентификатор, который может иметь несколько телефонов, вы должны разделить на 2 таблицы, определить правильные ключи и избежать дубликатов автоматически – DanFromGermany
Это не источник для людей, которые могут дать вам код. Что вы пробовали? –
При создании таблицы вы должны были определить 'UNIQUE KEY'. Поскольку вы этого не сделали, ваше наказание - это новость о том, что такая вещь может быть решена только вручную. –