【发布时间】:2013-04-05 04:21:14
【问题描述】:
我对这个热门问题有一个转折点并接受了答案:How can I SELECT rows with MAX(Column value), DISTINCT by another column in SQL?
我有一个类似结构的表,但不是选择具有最高数据时间的行,而是我想删除每个 ID 分组中不包含最大日期时间的所有行。查询应该使表的行数更小。
我已尝试在 WHERE NOT EXISTS 子查询中使用接受的答案的选择查询,但我收到错误“您无法指定目标表...在 From 子句中进行更新”
您将如何更改它以删除此处不满足 SELECT 要求的行:
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
【问题讨论】:
标签: sql max sql-delete