gpt4 book ai didi

mysql - 在 MySQL 中并排显示所有重复项

转载 作者:行者123 更新时间:2023-11-29 05:46:20 24 4
gpt4 key购买 nike

我有一个这样的表:

Table eventlog
user | user_group | event_date | event_dur.
---- ---------- --------- ----------
xyz 1 2009-1-1 3.5
xyz 2 2009-1-1 4.5
abc 2 2009-1-2 5
abc 1 2009-1-2 5

请注意,在上面的示例数据中,唯一可靠的是日期和用户。通过一个 90% 归咎于我的网站,我设法让用户复制他们的日常条目。在某些情况下,重复项旨在更新其持续时间,在其他情况下,他们试图更改当天使用的 user_group,而在其他情况下,两者都是。

幸运的是,我非常清楚哪些记录是正确的(因为这是对旧系统的更新)。 (基本上,这一切都是为了将​​旧数据库与新数据库无缝合并)。

不幸的是,我必须或多或少地手动执行此操作,否则可能会丢失仅存在于一侧而不存在于另一侧的数据....

长话短说,我正在尝试找出正确的 MySQL 查询,以返回在任何给定日期具有多个用户条目的所有记录。我一直在与 GROUP BY 和 HAVING 作斗争,但我能得到的最好的结果是两个重复项之一的列表,每个重复项,如果我确定它是错误的,那就太好了。

这是我最接近的:

SELECT *
FROM eventlog
GROUP BY event_date, user
HAVING COUNT(user) > 1
ORDER BY event_date, user

对此的任何帮助都将非常有用。如果需要,我有每组重复项的用户/日期列表,因此我可以手动删除所有 400 个,但我更愿意一次看到它们。

谢谢!

最佳答案

这行得通吗?

SELECT event_date, user
FROM eventlog
GROUP BY event_date, user
HAVING COUNT(*) > 1
ORDER BY event_date, user

让我失望的是你的 COUNT(user) 子句。

关于mysql - 在 MySQL 中并排显示所有重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1392012/

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