Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Zapytanie SQL do pobrania OrderID, transactionID, Status na podstawie statusu transakcji, którym jest Char

Jedna metoda używa 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() jest po prostu wygodnym sposobem na przypisanie kolejności do stringów. Zwraca pozycję statusu w pierwszym argumencie, co jest w tym przypadku wygodne do sortowania.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Upuść partycje starsze niż 2 miesiące

  2. Używanie GROUP BY z XMLCast i XMLQuery daje ORA-22950

  3. Pełne zrozumienie PDO ATTR_PERSISTENT

  4. Jak wyeksportować dane pola clob w Oracle sql developer

  5. Sprawdź, czy tabele są identyczne, używając SQL w Oracle