gpt4 book ai didi

mysql - 连接多个 MySQL 查询以及分组和删除记录

转载 作者:行者123 更新时间:2023-11-29 21:15:59 24 4
gpt4 key购买 nike

我有一个具有以下结构的表:

   ID Class Name   Email            Timestamp
1 A Ramesh ramesh@test.com 2014/03/07 17:29:34
2 A Ramesh ramesh@test.com 2014/03/12 17:29:34
3 B Kartik ramesh@test.com 2014/03/12 12:29:34
4 B Kartik ramesh@test.com 2014/03/17 12:29:34
5 A Ramesh newmail@test.com 2014/03/12 17:29:34
6 C Vinay ramesh@test.com 2014/03/12 17:29:34

我想选择具有相同名称、类别和电子邮件且具有多个记录的记录,并仅保留最新记录并删除所有其他记录。

例如上表的输出需要是:

   ID Class Name   Email            Timestamp
2 A Ramesh ramesh@test.com 2014/03/12 17:29:34
4 B Kartik ramesh@test.com 2014/03/17 12:29:34
5 A Ramesh newmail@test.com 2014/03/12 17:29:34
6 C Vinay ramesh@test.com 2014/03/12 17:29:34

我尝试了分组语句,但它不起作用。

最佳答案

DELETE x 
FROM my_table x
LEFT
JOIN
( SELECT class,name,MAX(timestamp) max_timestamp FROM my_table GROUP BY class,name) y
ON y.class = x.class
AND y.name = x.name
AND y.max_timestamp = x.timestamp
WHERE y.class IS NULL;

关于mysql - 连接多个 MySQL 查询以及分组和删除记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35949466/

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