DELETE t1
FROM table t1
JOIN table t2 USING (lead)
WHERE t1.id < t2.id
【讨论】:
Mysql,删除除最后一个条目外的所有内容答案
Mysql, delete all except for last entryMysql,删除除最后一个条目外的所有内容我正在将数据从一个 MySQL 数据库迁移到一个 NoSQL 数据库(如 Mongo 或类似数据库)。我所拥有的是这样的:
------------------------
| id | lead | event |
------------------------
| 1 | 333 | event1 |
------------------------
| 3 | 333 | event2 |
------------------------
| 22 | 333 | event3 |
------------------------
| 9 | 111 | event1 |
------------------------
我想要做的是删除删除除最后一个条目之外的所有条目。所以在删除命令之后我会留下:
------------------------
| id | lead | event |
------------------------
| 22 | 333 | event3 |
------------------------
| 9 | 111 | event1 |
------------------------
我想提一下,它与 MySQL8.0 相冲突,即它们返回查询中的所有行
我也在使用“选择”语句来查看是否可以在删除之前返回值
【问题讨论】:
lead
分组的MAX(id)
?然后您可以删除where id not in ...
(只要 id 是唯一键)。
标签: mysql
DELETE t1
FROM table t1
JOIN table t2 USING (lead)
WHERE t1.id < t2.id
【讨论】: