3,491
社区成员
发帖
与我相关
我的任务
分享
SQL>
SQL> create table test(a date, b date);
Table created
SQL> begin
2 insert into test values(date'2017-01-01', date'2017-01-01');
3 insert into test values(date'2017-01-02', date'2017-01-03');
4 insert into test values(date'2017-01-03', date'2017-01-02');
5 insert into test values(date'2017-01-04', date'2017-01-05');
6 insert into test values(date'2017-01-05', date'2017-01-07');
7 end;
8 /
PL/SQL procedure successfully completed
SQL> with m as (
2 select a, b,
3 row_number() over(order by a) a1,
4 row_number() over(order by b) b1
5 from test
6 )
7 select * from m where a1 != b1;
A B A1 B1
----------- ----------- ---------- ----------
2017-01-03 2017-01-02 3 2
2017-01-02 2017-01-03 2 3
SQL> drop table test purge;
Table dropped
SQL>