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

时间:2015-09-27 17:43:03

标签: mysql sql select

我有这个问题:

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            |
---------------------------------

我认为你得到了这个问题:我不希望我在这个查询中得到相反的重复。有办法吗?

1 个答案:

答案 0 :(得分:3)

您可以使用n1运算符而不是<运算符随意决定始终将“较小”字符串显示为!=,以避免此类“交换”对:

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