一、需求

有些数据写入表中时,a\b两个字段中的值,会才能在交叉存储的问题,

比如:

a b

1  2

2  1

现在想在查询结果中,值保留 1 2 一条数据,顺序可忽略。

二、测试

1、建表

create table mytest

(

a Int32,

b Int32

)

ENGINE=Mergetree

order by (a);

2、插入测试数据

insert into mytest values (1,2);

insert into mytest values (3,4);

insert into mytest values (4,3);

insert into mytest values (5,6);

insert into mytest values (5,6);

insert into mytest values (7,8);

insert into mytest values (9,10);

insert into mytest values (11,12);

insert into mytest values (12,11);

insert into mytest values (13,14);

3、查询并去重

select distinct

case when a>=b then b else a end AA,

case when a>=b then a else b end BB

from mytest;

4、结果如下
AA    BB

1      2

3      4

5      6

7      8

9     10

11    12

13    14

 posted on 2021-07-01 17:27  xibuhaohao  阅读(261)  评论(0)    收藏  举报