gpt4 book ai didi

sql - 在 SQL 表中查找重复值

转载 作者:行者123 更新时间:2023-12-03 03:51:12 24 4
gpt4 key购买 nike

使用一个字段查找重复项很容易:

SELECT email, COUNT(email) 
FROM users
GROUP BY email
HAVING COUNT(email) > 1

如果我们有一张 table

ID   NAME   EMAIL
1 John asd@asd.com
2 Sam asd@asd.com
3 Tom asd@asd.com
4 Bob bob@asd.com
5 Tom asd@asd.com

此查询将为我们提供 John、Sam、Tom、Tom,因为他们都有相同的电子邮件

但是,我想要的是使用相同的电子邮件名称获得重复项。

也就是说,我想要得到“汤姆”,“汤姆”。

我需要这个的原因:我犯了一个错误,并允许插入重复的 nameemail 值。现在我需要删除/更改重复项,因此我需要首先找到它们。

最佳答案

SELECT
name, email, COUNT(*)
FROM
users
GROUP BY
name, email
HAVING
COUNT(*) > 1

只需对两列进行分组即可。

注意:旧的 ANSI 标准是在 GROUP BY 中包含所有非聚合列,但这已经随着 "functional dependency" 的想法而改变。 :

In relational database theory, a functional dependency is a constraint between two sets of attributes in a relation from a database. In other words, functional dependency is a constraint that describes the relationship between attributes in a relation.

支持不一致:

关于sql - 在 SQL 表中查找重复值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2594829/

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