Мне нравится удалять дубликаты из таблицы game
. Есть записи с теми же playerId
и timeParameter
, и те, у которых самый низкий gameId
, должны оставаться.Удалить без псевдонима
Я могу запросить записи с:
select a.`gameId` from `game` a
where not exists
(select min(b.`gameId`) as m from `game` b
group by b.`playerId`, b.`timeParameter`
having m = a.`gameId`);
Но я не могу использовать Алиса в ВЕЯТ:
delete from `game` a
where not exists
(select min(b.`gameId`) as m from `game` b
group by b.`playerId`, b.`timeParameter`
having m = a.`gameId`);
Получения синтаксической ошибки:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual
that corresponds to your MariaDB server version for the right syntax to use near 'a
where not exists
(select min(b.`gameId`) as m from `game` b
group by b.`' at line 1
Эта ошибка ничего не говорит мне, но я знаю, что я не могу использовать псевдонимы в удалении заявление.
Есть ли решение для этого?
даже вы не можете удалить это с помощью оператора выбора с той же таблицей –
Посмотрите на это http://stackoverflow.com/questions/4562787/how-to-delete-from-select-in-mysql – rpd
@vertex, если вам нравятся мои анны, чем вы можете голосовать и получать pt это? –