sql >> Databasteknik >  >> RDS >> Oracle

Hur man sorterar samma kolumn både i asc-ordning och desc-ordning

Du kan göra detta med row_number() och själv gå med:

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;

EDIT:

Du kan också göra detta med rownum men det kräver ytterligare 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. Skapa en valmeny i PHP med standard vald från MySQL db

  2. Att ha utländsk nyckel-begränsning när rader raderas med hjälp av inre join

  3. SQL-sökning i flera värden i samma fält

  4. Att skicka en array av arrayer som parameter till en funktion