С нами с 08.05.05
Сообщения: 6281
Рейтинг: 656
|
Добавлено: 13/02/18 в 20:46 |
phpmyadmin В БД по колонке title
xxx 10 записей
xxxx 5 записей
xxxxx 7 записей
и так далее.
Всего таких 2к ))
Руками эт жопа.
Какие варианты есть ?
|
|
|
|
С нами с 19.05.17
Сообщения: 191
Рейтинг: 326
|
Добавлено: 13/02/18 в 21:46 |
Не забудь сделать копию таблицы, я хз какой будет результат
DELETE * FROM table
WHERE id NOT IN(
SELECT MIN(id) AS id
FROM table
GROUP BY title
)
|
|
|
|
www.phpdevs.com
С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105
|
Добавлено: 14/02/18 в 04:37 |
php скриптик тебе в помощь, т.е. попросить любого прогера его написать. Хотя запрос от mx-user: теоретически выглядит правильным и вполне может сработать.
|
|
Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.
|
4
|
|
|
С нами с 08.05.05
Сообщения: 6281
Рейтинг: 656
|
Добавлено: 14/02/18 в 15:00 |
Stek писал: | php скриптик тебе в помощь, т.е. попросить любого прогера его написать. |
Сколько такой скриптик будет стоить ? )
|
|
|
|
С нами с 18.10.02
Сообщения: 4165
Рейтинг: 3365
|
Добавлено: 14/02/18 в 15:24 |
На кой тебе скриптик, когда тебе рабочий SQL запрос дали, которой только выполнить осталось?
|
|
|
|
+ + +
С нами с 05.12.17
Сообщения: 12
Рейтинг: 1
|
Добавлено: 14/02/18 в 15:31 |
Сделай тестовую таблицу с дублями и проверь на ней решение выше.
|
|
|
|
С нами с 08.05.05
Сообщения: 6281
Рейтинг: 656
|
Добавлено: 14/02/18 в 16:12 |
Если я все верно понял
DELETE * FROM `Название таблицы` table
WHERE id NOT IN(
SELECT MIN(id) AS id
FROM table
GROUP BY (название колонки)
)
#1064 - 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 '* FROM table WHERE id NOT IN( SELECT MIN(id) AS id FROM table GROUP BY p' at line 1
|
|
|
|
С нами с 18.10.02
Сообщения: 4165
Рейтинг: 3365
|
Добавлено: 14/02/18 в 21:15 |
DH писал: | Если я все верно понял
DELETE * FROM `Название таблицы` table
WHERE id NOT IN(
SELECT MIN(id) AS id
FROM table
GROUP BY (название колонки)
) |
1. В запросе DELETE не нужно ставить никаких звездочек после DELETE. Просто пишется "DELETE FROM ...".
2. После "FROM" должно быть название таблицы без всяких "table". Как в первом, так и во втором случае.
3. Вероятно MySQL не даст изменять/удалять таблицу, когда условие строится непосредственно на той же таблице, но это можно обойти вложенным селектом.
Т.е. итоговый запрос должен быть таким:
DELETE FROM test WHERE id NOT IN (SELECT * FROM (SELECT MIN(id) AS id FROM test GROUP BY title) AS tmp);
где test - это название таблицы
|
|
|
|
С нами с 20.06.10
Сообщения: 171
Рейтинг: 445
|
Добавлено: 14/02/18 в 22:00 |
ALTER IGNORE TABLE table_name ADD UNIQUE INDEX tmp(column_name)
только сделай дамп старой таблицы на всякий случай)
получившийся индекс можешь потом удалить в Structure - indexes
|
|
|
|
С нами с 08.05.05
Сообщения: 6281
Рейтинг: 656
|
Добавлено: 14/02/18 в 22:46 |
Mika писал: | 1. В запросе DELETE не нужно ставить никаких звездочек после DELETE. Просто пишется "DELETE FROM ...".
2. После "FROM" должно быть название таблицы без всяких "table". Как в первом, так и во втором случае.
3. Вероятно MySQL не даст изменять/удалять таблицу, когда условие строится непосредственно на той же таблице, но это можно обойти вложенным селектом.
Т.е. итоговый запрос должен быть таким:
DELETE FROM test WHERE id NOT IN (SELECT * FROM (SELECT MIN(id) AS id FROM test GROUP BY title) AS tmp);
где test - это название таблицы |
Ура сработало ))))))
А как почистить title от ненужных символов ()№;%:}{ итд ?
|
|
|
|
www.phpdevs.com
С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105
|
Добавлено: 15/02/18 в 04:40 |
DH писал: | Сколько такой скриптик будет стоить ? ) |
$10
DH писал: | А как почистить title от ненужных символов ()№;%:}{ итд ? |
UPDATE table_name SET title = REPLACE(title, '№', '');
Вроде так. Ну и соответственно перед запуском проверить как будет выглядеть:
SELECT REPLACE(title, '№', '') AS new_title FROM table_name;
|
|
Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.
|
4
|
|
|
С нами с 08.05.05
Сообщения: 6281
Рейтинг: 656
|
Добавлено: 15/02/18 в 17:41 |
|
|
|
|