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

Làm thế nào để sử dụng Oracle ORDER BY và ROWNUM một cách chính xác?

where câu lệnh được thực thi trước khi order by . Vì vậy, truy vấn mong muốn của bạn là " lấy hàng đầu tiên rồi sắp xếp theo thứ tự t_stamp desc ". Và đó không phải là những gì bạn dự định.

Phương thức truy vấn con là phương pháp thích hợp để thực hiện việc này trong Oracle.

Nếu bạn muốn một phiên bản hoạt động trên cả hai máy chủ, bạn có thể sử dụng:

select ril.*
from (select ril.*, row_number() over (order by t_stamp desc) as seqnum
      from raceway_input_labo ril
     ) ril
where seqnum = 1

* bên ngoài sẽ trả về "1" trong cột cuối cùng. Bạn cần liệt kê các cột riêng lẻ để tránh điều này.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle PL / SQL - mẹo để in đầu ra / bảng điều khiển ngay lập tức

  2. Lý do / hữu ích là gì khi sử dụng từ khóa ENABLE trong các câu lệnh cơ sở dữ liệu oracle

  3. Tại sao mệnh đề IN oracle chỉ có giới hạn 1000 đối với dữ liệu tĩnh?

  4. Tìm hiểu lịch sử của các truy vấn SQL

  5. Hàm CURRENT_TIMESTAMP () trong Oracle