需求为:表中同时存在数据 AB 和 BA ,如{34 ,66} 和 {66 ,34} 但我们只想保留其中一种情况( AB 和 BA 视为同一种情况),如果表数据如下怎么做?
num_1 | num_2 |
---|---|
30 | 24 |
24 | 30 |
958 | 497 |
88 | 99 |
1
malusama 2022-11-29 12:22:51 +08:00
num_1 和 num_2 拼接, 排序, 然后用 row_number 打上序号
只去一个就可以 |
2
qinrui 2022-11-29 12:26:02 +08:00
update table xxx set num_3 =case when num_1>num_2 then num_2 else num_1 end ,num_4= case when num_1>num_2 then num_1 else num_2 end
|
3
optional 2022-11-29 12:35:03 +08:00 via iPhone
对 ab 排序拼接,然后 group by 或者 district by
|
4
optional 2022-11-29 12:35:13 +08:00 via iPhone
打错了 distinct
|
7
bxb100 2022-11-29 13:01:04 +08:00 1
```sql
select distinct least(col_1, col_2), greatest(col_1, col_2) from the_table order by 1 ``` https://stackoverflow.com/questions/64422759/remove-duplicate-combinations-between-two-columns-of-char-data-type-in-sql |