Здравствуйте SQL запрос экспертов! У меня есть одна таблица с именем «mytable», которая имеет 2 столбца, такие как идентификатор и заголовок. Я попытался удалить дубликаты, кроме одной записи (строки), сравнивающей заголовок. Ниже был мой выбор:
DELETE FROM `myTable` AS `m1`
WHERE `m1`.`id`
NOT IN (SELECT MIN(`b`.`id`) as `recordid` FROM `myTable` AS `b` GROUP BY `b`.`title`)
ошибка: Error in query (1064): Syntax error near '* FROM `myTable` AS `m1` WHERE `m1`.`id` NOT IN (SELECT MIN(`b`.`id`) as `reco' at line 1
, но я столкнулся с проблемой и пытался решить эту проблему более 2 часов. Это кажется очень простой проблемой. Но я не могу понять это. Поэтому я прошу stackoverflow!
И в основном я вижу что-то странное. Я пробовал вот так, но в нем нет ошибок.
SELECT * FROM `myTable` AS `m1`
WHERE `m1`.`id`
NOT IN (SELECT MIN(`b`.`id`) as `recordid` FROM `myTable` AS `b` GROUP BY `b`.`title`)
Когда я запускаю этот запрос, я могу получить список записей (строк), которые я хочу удалить из таблицы 'myTable'.
Почему я сталкиваюсь с проблемой удаления, хотя могу получить список для удаления?
Мне действительно нужна ваша помощь. Спасибо всем!