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

Cách lấy hàng cuối cùng của bảng Oracle

Không có cái gọi là hàng "cuối cùng" trong bảng, vì bảng Oracle không có khái niệm về thứ tự.

Tuy nhiên, giả sử rằng bạn muốn tìm khóa chính được chèn lần cuối rằng khóa chính này là một số tăng dần, bạn có thể làm như sau:

select *
  from ( select a.*, max(pk) over () as max_pk
           from my_table a
                )
 where pk = max_pk

Nếu bạn có ngày mà mỗi hàng được tạo, điều này sẽ trở thành, nếu cột được đặt tên là created :

select *
  from ( select a.*, max(created) over () as max_created
           from my_table a
                )
 where created = max_created

Ngoài ra, bạn có thể sử dụng một truy vấn tổng hợp, ví dụ:

select *
  from my_table
 where pk = ( select max(pk) from my_table )

Đây là một SQL Fiddle nhỏ để chứng minh.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sự khác biệt giữa các dấu thời gian tính bằng mili giây trong Oracle

  2. GROUP BY hoạt động như thế nào?

  3. Hàm COSH () trong Oracle

  4. Khung thực thể và nhiều lược đồ

  5. Nhóm dịch vụ thay đổi trong R12.2