mysql - 从不同表中的两列获取重复项
问题描述
我整天都在看这个。我正在尝试从两个单独的表中的两列返回重复项列表。
在 MYSQL 中,获得完整外部连接的唯一方法似乎是使用 UNION,我已经尝试过:
select mobile from firstTable
group by mobile
having count(mobile) > 1
union all
select mobile from secondTable
group by mobile
having count(mobile) > 1;
但是,这会在同一个表中得到重复,并且不考虑跨表重复。我也尝试过连接,但是我不知道如何检查不同列中的重复项?
我的意图是获得重复项,就好像两列都在 1 和我正在计算具有多个条目的列一样。任何帮助表示赞赏,欢呼。
解决方案
我建议先进行联合,然后汇总组合结果:
SELECT mobile
FROM
(
SELECT mobile FROM firstTable
UNION ALL
SELECT mobile FROM secondTable
) t
GROUP BY mobile
HAVING COUNT(mobile) > 1;
注意:如果在两个表中的每一个中,给定mobile
值可能出现多次,则使用SELECT DISTINCT mobile FROM some_table
来首先删除重复项。
推荐阅读
- c# - 如果触地则团结跳跃
- azure - 发布 URL https://waws-prod-am2-xxx.publish.azurewebsites.windows.net/ 无法访问
- python - torch.cat 沿负维度
- python - 创建新模型对象时出现 IntegrityError
- bazel - 解析 Bazel 构建事件协议以搜索构建失败的目标和错误消息的最佳方法是什么?
- c - 使用联合类型成员时的奇怪输出
- oracle - 创建具有固定时间部分的时间戳
- sql - 数据仓库建模问题
- javascript - 使用 ReactJs 映射获取的对象时出错
- php - Laravel 8 - 创建虚拟数据时找不到模型工厂类