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

Kịch bản vàs Các bước nhận được sự cố thay đổi cuối cùng

Hừ! . . bạn có thể nhận được ngày 44 sớm nhất sau ngày không phải 44 cuối cùng bằng cách sử dụng:

select min(start_date)
from t
where t.start_date > (select max(t2.start_date)
                      from t t2
                      where t2.step_key <> 44
                     );

Tôi nghĩ đây là những gì bạn đang yêu cầu.

Bạn cũng có thể sử dụng các chức năng cửa sổ. Giả sử rằng hàng gần đây nhất là "44":

select t.*
from (select t.*,
             row_number() over (order by start_date) as seqnum,
             row_number() over (partition by step_key order by start_date) as seqnum_sk
      from t
     ) t
where step_key = 44 and seqnum = seqnum_sk
order by start_date
fetch first 1 row only;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ODP.NET Managed - Không thể tìm thấy Nhà cung cấp Dữ liệu .Net Framework được yêu cầu

  2. Lược đồ mặc định trong URL kết nối Oracle

  3. Khung thực thể và chuỗi dưới dạng NCLOB trên oracle Db

  4. Làm cách nào để định dạng các truy vấn tiên tri của tôi để các cột không bị quấn?

  5. Không thể tải Amazon Python 2.7 Lambda:DPI-1047:Thư viện máy khách Oracle 64-bit:libclntsh.so