, , , @Tom . Transact SQL , , SQL windowing/ranking row_number() ( MySQL).
, , , id1 id2 , " " id1 id2.
, , .
insert. , . .
CREATE TABLE
(
id int,
id1 char(6) NOT NULL,
id2 char(6) NOT NULL
)
insert into
values
(1, 'ABC123', 'ABC124'),
(2, 'ABC123', 'ABC124'),
(3, 'ABC123', 'ABA122'),
(4, 'ABC124', 'ABC123'),
(5, 'ABC124', 'ABC126');
select
id,
(case when id1 <= id2
then id1
else id2
end) id1,
(case when id1 <= id2
then id2
else id1
end) id2
into
from
create index idx_id1_id2 on
;with ranked as
(select
ROW_NUMBER() over (partition by id1, id2 order by id) dupeRank,
id,
id1,
id2
from
select id, id1, id2
from ranked where dupeRank = 1
drop table
drop table
:
3 ABA122 ABC123
1 ABC123 ABC124
5 ABC124 ABC126