У меня есть поворот на этот популярный вопрос и принятый ответ: How can I SELECT rows with MAX(Column value), DISTINCT by another column in SQL?Удалить все строки, которые не содержат максимальное значение в группе
Я таблица структурированную так же, но вместо выбора строки с наибольшим datatime I 'd УДАЛИТЬ все строки в каждой группе идентификаторов, которые не содержат максимальное время datetime. Запрос должен сделать таблицу меньшей по строкам.
Я попытался с помощью запроса на выборку принято отвечать в в ГДЕ НЕ СУЩЕСТВУЕТ суб запроса, но я получаю сообщение об ошибке «Вы не можете указать целевую таблицу ... для обновления в предложении FROM»
Как бы вы изменить это, чтобы удалить строки, которые не отвечают требованиям ВЫБЕРИТЕ здесь:
SELECT tt.*
FROM topten tt
INNER JOIN
(
SELECT home, MAX(datetime) AS MaxDateTime
FROM topten
GROUP BY home
) groupedtt ON tt.home = groupedtt.home AND tt.datetime = groupedtt.MaxDateTime
Привет, но получаю сообщение об ошибке: # 1064 - У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с 'tt1, где tt1.id NOT IN (SELECT tt2.id' в строке 2 –