gpt4 book ai didi

mysql - 从多个表中查找非重复记录

转载 作者:太空宇宙 更新时间:2023-11-03 11:05:29 24 4
gpt4 key购买 nike

我通过互联网搜索但找不到我要找的东西,可能是因为我不知道要搜索什么。

我的问题是从多个表中获取不重复的记录...

假设我有如下两个表,

tableA
----------------------
code ip
1 111.168.1.2
2 111.222.333.333
3 111.168.1.2
4 111.234.2.44
5 111.23.455.44

tableB
----------------------
code ip ISP
1 111.222.333.333 newtwo
2 111.168.2.2 anon
3 111.333.453.567 def
4 111.168.2.2 tele
5 111.222.333.333 new
6 111.333.544.3 ispnew

我希望从中得到的是,

ip
111.234.2.44
111.23.455.44
111.333.453.567
143.333.544.3

我像这样一起尝试过 UNION、DISTICNT 和 DISTINCT AND UNION,

SELECT DISTINCT IP FROM(SELECT IP FROM tableA UNION SELECT IP FROM tableB)

但是它给所有的值都提供了一个重复项,如下所示,

ip
111168.1.2
111.222.333.333
111.234.2.44
111.23.455.44
111.168.2.2
111.333.453.567
111.333.544.3

请在这方面帮助我,我会非常充实..非常感谢 :)

最佳答案

DISTINCT 只给出每个条目一次,但不会完全丢弃重复的条目。您需要做的是使用 GROUP BYCOUNTHAVING 来摆脱这些:

SELECT
IP
FROM
(
SELECT IP FROM tableA
UNION ALL
SELECT IP FROM tableB
)
GROUP BY
IP
HAVING
COUNT(*) = 1

关于mysql - 从多个表中查找非重复记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12157840/

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