gpt4 book ai didi

mysql - SQL查询单表跨列唯一值

转载 作者:行者123 更新时间:2023-11-29 15:21:21 24 4
gpt4 key购买 nike

我有一个包含两列和数据的表格,如下 -

+---------+---------+
| Column1 | Column2 |
+---------+---------+
| A | B |
+---------+---------+
| C | D |
+---------+---------+
| B | A |
+---------+---------+
| E | F |
+---------+---------+
| F | E |
+---------+---------+

我的查询输出应返回以下数据 -

+---------+---------+
| Column1 | Column2 |
+---------+---------+
| A | B |
+---------+---------+
| C | D |
+---------+---------+
| E | F |
+---------+---------+

如果我们有两行row1row2,其中row1.column1=row2.column2row1.column2=row2。 column1,输出应包含两行 row1row2 之一。

你能帮我解决这个问题吗?

最佳答案

我想你想要:

select col1, col2
from t
where col1 < col2
union all
select col1, col2
from t
where col1 > col2 and
not exists (select 1 from t t2 where t2.col1 = t.col2 and t2.col2 = t.col1);

您可能还需要:

select distinct least(col1, col2) as col1, greatest(col1, col2) as col2
from t;

请注意,在某些情况下,这可能会返回与原始数据中的顺序不同的对。

关于mysql - SQL查询单表跨列唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59357690/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com