繁体   English   中英

SQL:删除配对查询中的重复项

[英]SQL: Remove duplicates in pair query

我有这个查询:

SELECT a.`name` "n1", b.`name` "n2"
    FROM    `Table` a, `Table` b
    WHERE   a.`nb` = b.`nb`
            AND a.`name` != b.`name`

它几乎可以按我的意愿工作,我得到了这个结果:

---------------------------------
| n1            | n2            |
|--------------------------------
| aa            | bb            |
| bb            | aa            |
---------------------------------

我认为您遇到了问题:我不希望重复查询中出现的重复项。 有办法吗?

您可以通过使用<运算符而不是!=运算符来任意决定始终将“较小”的字符串显示为n1 ,以避免这种类型的“交换”对:

SELECT a.`name` "n1", b.`name` "n2"
FROM   `Table` a, `Table` b
WHERE  a.`nb` = b.`nb` AND a.`name` < b.`name`

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM