Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да сортирате една и съща колона както във възходящ, така и в низходящ ред

Можете да направите това с row_number() и самостоятелно присъединяване:

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;

РЕДАКТИРАНЕ:

Можете също да направите това с rownum но изисква допълнителен 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. DBMS OUTPUT PUT не отпечатва нищо

  2. Как да направя oracle TNSPING с java?

  3. ORA изтриване / съкращаване

  4. Конкатенирането на числа в израз на виртуална колона хвърля ORA-12899:стойността е твърде голяма за колона

  5. Как да направя индекса неизползваем и след това да го изградя отново в индекс