gpt4 book ai didi

mysql - SQL 语句或存储过程删除除最近的所有重复行?

转载 作者:行者123 更新时间:2023-11-29 10:44:54 26 4
gpt4 key购买 nike

我正在使用 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
)

关于mysql - SQL 语句或存储过程删除除最近的所有重复行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44772372/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com