【发布时间】:2018-09-07 12:39:27
【问题描述】:
使用以下查询,我可以返回我需要的结果。
SELECT t1.*
FROM lms_attendance t1
WHERE t1.id = (SELECT t2.id
FROM lms_attendance t2
WHERE t2.user = t1.user
ORDER BY t2.id DESC
LIMIT 1)
但是,当尝试执行 DELETE 时,这不起作用。通过反复试验,我得到unknown column 或can't specify target updated in from clause。这里的主要问题是我绝对必须拥有 WHERE 子句,以便它返回每个用户的最大 id,而不是整个表。
【问题讨论】:
-
所以您只想保留每个用户的最大 id?
-
正确。我试图只保留每个用户的最大
,同时删除其余的。
标签: mysql sql-update subquery inner-join sql-delete