sql >> Database teknologi >  >> RDS >> Oracle

SQL-forespørgsel for at hente OrderID, transaktions-ID, Status baseret på transaktionsstatus, som er Char

En metode bruger 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() er blot en praktisk måde at tildele en bestilling til strenge. Det returnerer positionen for status i det første argument, hvilket er praktisk til sorteringsformål i dette tilfælde.




  1. Brug af SELECT UNION og returnering af output fra to kolonner fra én tabel

  2. Sletning af rækker fra flere tabeller i MySQL

  3. Ikke en gyldig måned på en INSERT-erklæring

  4. PDO indsæt matrixværdier