sql >> Database >  >> RDS >> Oracle

SQL-query om OrderID, transactionID, Status op te halen op basis van transactiestatus die Char . is

Eén methode gebruikt 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() is gewoon een handige manier om een ​​volgorde aan strings toe te kennen. Het retourneert de positie van de status in het eerste argument, wat in dit geval handig is voor sorteerdoeleinden.




  1. Krijg het aantal rijen in tabel A die een verwijzing hebben naar tabel B

  2. sql join op twee velden in één tabel

  3. Hoe alleen tijd op te slaan; geen datum en tijd?

  4. Sterke versus zwakke entiteiten MYSQL