gpt4 book ai didi

Mysql查询根据时间戳部分删除重复项

转载 作者:行者123 更新时间:2023-11-29 12:52:33 26 4
gpt4 key购买 nike

我有一个网上商店收到了一些重复订单,因为 paypal 发送了一些付款通知两次甚至 3-4-5 次,它们之间的间隔是随机的,从几秒到几分钟不等。

我的订单表中的示例:

ID     productname    buyer    timestamp
1 apples john 2014-07-01 19:22:20
2 bananas john 2014-07-01 19:22:20
3 oranges mary 2014-07-01 19:22:52
4 apples john 2014-07-01 19:22:53
5 bananas john 2014-07-01 19:22:53
6 apples chris 2014-07-01 19:22:54

我想删除所有重复的行,重复是指产品名称、买家和购买日期应该相同。 (仅日期,不包括时间戳的时间部分)

因此从上表中,应删除此内容:

4      apples         john     2014-07-01 19:22:53
5 bananas john 2014-07-01 19:22:53

因为他当天早些时候买了同样的东西。

你会怎样做呢?

最佳答案

你可以使用EXISTS来做到这一点

DELETE FROM table AS t
WHERE EXISTS(
SELECT *
FROM table
WHERE id != t.id
AND productname = t.productname
AND buyer = t.buyer
AND DATE(timestamp) = DATE(t.timestamp))

关于Mysql查询根据时间戳部分删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24516182/

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