MySQL连续查找重复的项目

时间:2014-04-25 02:33:35

标签: mysql sql duplicates

我只想问是否可以查询以查看两个表之间的所有重复项?我尝试了一些解决方案,但它返回重复的行而不是重复的项目。

例如,我有这两个表:

表-A

  

| A | B | C | D |

     

..........................................

     

|门|书|钥匙|鞋|

     

|门|袋子|办公桌|键|

     

|米饭|鱼|蛋糕|鞋|

表-B

  

| A | B | C | D |

     

|胶带|粉丝|长袍| spec |

     

|钥匙|鞋|粉丝|房间|

     

|大厅| pops |门|光盘|

因此,最终它只返回所有具有重复项的项目。例如,

  

|门|

     

|键|

     

|鞋|

     

.....

我尝试了一些问题,但我仍无法找到解决方案。感谢。

1 个答案:

答案 0 :(得分:0)

您可以通过取消隐藏数据并使用group by

来完成此操作
select col
from (select a as col from table_a union all
      select b from table_a union all
      select c from table_a union all
      select d from table_a union all
      select a from table_b union all
      select b from table_b union all
      select c from table_b union all
      select d from table_b
     ) t
group by col
having count(*) > 1;

如果表格较大,则使用union all比使用{{1}}更有效。