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

Truy vấn SQL để tìm nạp OrderID, transactionID, Trạng thái dựa trên trạng thái giao dịch là Char

Một phương thức sử dụng row_number() :

select t.*
from (select t.*,
             row_number() over (partition by orderid
                                order by instr('LOW,MEDIUM,HIGH', status) as seqnum
      from transaction t
     ) t
where seqnum = 1;

instr() chỉ là một cách thuận tiện để gán một thứ tự cho các chuỗi. Nó trả về vị trí của trạng thái trong đối số đầu tiên, thuận tiện cho mục đích sắp xếp trong trường hợp 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. ORA-00604 ORA-12705

  2. cx_Oracle và mô hình nguồn dữ liệu

  3. oracle 12c - chọn chuỗi sau lần xuất hiện cuối cùng của một ký tự

  4. Hàm BITAND () trong Oracle

  5. Sự khác biệt giữa số đếm (1) và số đếm (*) trong tiên tri