sql >> Database >  >> RDS >> Oracle

SQL - Hoe een rij te selecteren met een kolom met maximale waarde (+ groeperen op)

Het klinkt alsof je de rij wilt selecteren met de hoogste high_val voor elke categorie. Zo ja, dan kunt u row_number() . gebruiken om elke rij binnen een categorie te rangschikken volgens zijn high_val waarde, en selecteer alleen de hoogst gerangschikte rijen, d.w.z. rn = 1 :

select * from (
    select row_number() over (partition by category order by high_val desc, date asc) rn, *
    from mytable
    where something = 'avalue'
) t1 where rn = 1


  1. Predicaatvolgorde is belangrijk in uitgebreide evenementen

  2. MemoryError bij gebruik van de read()-methode bij het lezen van een groot JSON-bestand van Amazon S3

  3. Selecteer aantal / duplicaten

  4. selecteer rownum uit salaris waarbij rownum=3;