如何从MySQL中的联接查询中删除重复的行 [英] How to remove duplicate rows from a join query in mysql

查看:147
本文介绍了如何从MySQL中的联接查询中删除重复的行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个表,其中包含列ID和名称

I have a table having columns id and name

我表中有3条记录

id       name 
1        Chinmoy
2        Amit
3        Bhagi

我想要结果

name1     name2 
Amit      Bhagi
Amit      Chinmoy
Bhagi     chinmoy

我尝试并成功完成了

name1    name2
Amit     Bhagi
Amit     Chinmoy
Bhagi    Amit
Bhagi    Chinmoy
Chinmoy  Amit
Chinmoy  Bhagi

通过使用此查询

select tbl1.name,tbl2.name from test tbl1 
join test tbl1 on tbl1.name != tbl2.name
order by tbl1.name,tbl2.name;

现在我不知道该怎么办.

Now i didn't get how to do.

我必须消除已经以相反顺序出现的记录.

I have to eliminate the record which are already present in opposite order.

请帮助

预先感谢

推荐答案

基本上,您可以通过a.Name < b.Name

SELECT  a.Name Name1, b.Name Name2
FROM    TableName a, TableName b
WHERE   a.Name < b.Name
ORDER   BY Name1, Name2

  • SQLFiddle演示
    • SQLFiddle Demo
    • 输出

      ╔═══════╦═════════╗
      ║ NAME1 ║  NAME2  ║
      ╠═══════╬═════════╣
      ║ Amit  ║ Bhagi   ║
      ║ Amit  ║ Chinmoy ║
      ║ Bhagi ║ Chinmoy ║
      ╚═══════╩═════════╝
      

      这篇关于如何从MySQL中的联接查询中删除重复的行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆