Mysql 是否使用SQL语句或存储过程删除除最近的行以外的所有重复行?

Mysql 是否使用SQL语句或存储过程删除除最近的行以外的所有重复行?,mysql,Mysql,我正在使用MySQL 5,需要编写SQL语句(或存储过程,如果需要)来删除给定设备表中除最近一行(最年轻的创建时间)以外的所有重复行吗 这是表格:
 desc user_detail; 收益率: | Field | Type | Null | Key | Default | Extra | +-----------------+--------------+------+-----+----

我正在使用MySQL 5,需要编写SQL语句(或存储过程,如果需要)来删除给定设备表中除最近一行(最年轻的创建时间)以外的所有重复行吗

这是表格:


desc user_detail;
收益率:

| Field           | Type         | Null | Key | Default             | Extra                       |
+-----------------+--------------+------+-----+---------------------+-----------------------------+
| user_id         | varchar(200) | NO   | PRI |                     |                             |
| device          | text         | YES  |     | NULL                |                             |
| created_time    | timestamp    | NO   |     | 0000-00-00 00:00:00 |                             |
| updated_time    | timestamp    | NO   |     | CURRENT_TIMESTAMP   | on update CURRENT_TIMESTAMP |

这可以通过
exists
自连接完成:

delete from user_detail a where exists (
    select 1 from user_detail b
    where a.device = b.device
    and b.created_time > a.created_time
)

我看到那个设备是可空的,当设备为空时,你想发生什么?@BryanNewman问得好。。。这个表是从不同的Rest调用填充的,所以设备可以为null,但是有很多DUP,这让我们对这个特定的查询感到疑惑。谢谢你的邀请。对不起,我把自己弄糊涂了,我第一次就说对了。