sql >> Databáze >  >> RDS >> Oracle

Jak seřadit stejný sloupec ve vzestupném i sestupném pořadí

Můžete to udělat pomocí row_number() a připojit se:

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:

Můžete to udělat také pomocí rownum ale vyžaduje další 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. MySqlException na ExecuteReader výběrem UserID(PK)

  2. Dvě vygenerované hodnoty v doktríně

  3. Python:Co je špatného na mém kódu s více procesy vkládáním do MySQL?

  4. PHP stránkování MySQL s náhodným řazením