Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak posortować tę samą kolumnę zarówno w kolejności asc, jak i desc

Możesz to zrobić za pomocą row_number() i samodzielne dołączenie:

select e1.empid as empid_1, e2.empid as empid_2
from (select e.*, row_number() over (order by emp_id) as seqnum
      from emp e
     ) e1 join
     (select e.*, row_number() over (order by emp_id desc) as seqnum
      from emp e
     ) e2
     on e1.seqnum = e2.seqnum;

EDYCJA:

Możesz to również zrobić za pomocą rownum ale wymaga dodatkowego select :

select e1.empid as empid_1, e2.empid as empid_2
from (select e.*, rownum as seqnum
      from (select e.* from emp e order by empid asc) e
     ) e1 join
     (select e.*, rownum as seqnum
      from (select e.* from emp e order by empid desc) e
     ) e2
     on e1.seqnum = e2.seqnum;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Automatyczna inkrementacja w Oracle bez użycia wyzwalacza

  2. Zarządzanie oknami w Oracle D2k Forms

  3. Resetuj sekwencję w Oracle 11g

  4. Pobierz najnowszy wiersz — przed Oracle 12c

  5. funkcja to_date z sysdate