gpt4 book ai didi

mysql根据不同的列值重复搜索

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

我有两张 table 。第一个表有 id、名字、姓氏和电话号码列。第二个表有州、区、街区和村庄列。id 列具有唯一值。其他列可以有重复的值。

我想选择具有相同名字、姓氏、州、区、街区和村庄值但电话号码值不同的所有记录。

例如:

ID  First Name  Phone Number    District    State   Block   Village
1 Rajesh 9876543210 ABC XYZ GHI PQR
2 Jim 7894561230 WXY DEF JKL SDF
3 Jack 8745963210 EWQ REW YTR POI
4 Rajesh 9856741230 ABC XYZ GHI PQR
5 Jack 8745963210 EWQ REW YTR POI

输出应包括第一条和第四条记录,第三条和第五条记录,因为它们具有相同的电话号码。

我使用以下查询选择了具有相同电话号码的所有重复行:

SELECT b.phone_mobile, g.countID, b.id
FROM (
SELECT phone_mobile, COUNT( id ) AS countID
FROM contacts
GROUP BY phone_mobile
HAVING COUNT( id ) >1
)g
INNER JOIN contacts b ON b.phone_mobile = g.phone_mobile

现在我不知道如何选择具有相同名称和位置但电话号码不同的所有行。我需要帮助。

谢谢。

最佳答案

如果有一行具有相同的名称、地址,但 ID 和电话号码不同,则应选择所有行:

SELECT *
FROM contacts c
JOIN address a on c.id=a.id
WHERE EXISTS
(
SELECT 1
FROM contacts c1
JOIN address a1 on c1.id=a1.id
WHERE c1.ID<>c.id
AND c1.Phone_Number<>c.Phone_Number
AND c1.First_Name=c.First_Name
AND a1.District=a.District
AND a1.State=a.State
AND a1.Block=a.Block
AND a1.Village=a.Village
)

SQLFiddle demo

关于mysql根据不同的列值重复搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37048053/

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