sql >> Databáze >  >> RDS >> Oracle

SQL dotaz pro načtení OrderID, TransactionID, Status na základě stavu transakce, což je Char

Jedna metoda používá 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() je jen pohodlný způsob, jak řetězcům přiřadit řazení. Vrací pozici stavu v prvním argumentu, což je v tomto případě vhodné pro účely řazení.




  1. SELECT LAST_INSERT_ID() funguje v Direct MySQL Query, ale ne přerušovaně PHP QUERY

  2. Jak provést aktualizaci + připojit se k PostgreSQL?

  3. Vkládání nových sloupců doprostřed tabulky?

  4. před vložením zkontrolujte duplicitní data