Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Cách sắp xếp một cột giống nhau theo thứ tự asc và thứ tự mô tả

Bạn có thể thực hiện việc này với row_number() và tự tham gia:

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;

CHỈNH SỬA:

Bạn cũng có thể làm điều này với rownum nhưng nó yêu cầu thêm một 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. Cách kiểm tra NULL hoặc không hợp lệ trong truy vấn HQL

  2. Câu lệnh If trong mệnh đề Where

  3. Làm cách nào để sử dụng chỉ mục dựa trên hàm trên một cột có chứa NULL trong Oracle 10+?

  4. Đẩy con trỏ đơn

  5. Chuyển đổi ngày XSD xs:dateTime thành Ngày Oracle