需求为:表中同时存在数据 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 ![]() ```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 |