sql >> Databasteknik >  >> RDS >> Oracle

SQL - Hur man väljer en rad med en kolumn med maxvärde (+ gruppera efter)

Det låter som att du vill välja raden med högst high_val för varje kategori. Om så är fallet kan du använda row_number() för att rangordna varje rad inom en kategori enligt dess high_val värde och välj bara de högst rankade raderna, dvs. 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. Sortera resultaten av en mysql-fråga

  2. Varför beter UNION ALL med och utan parentes olika?

  3. Cachning i PostgreSQL

  4. Node.js, Request, MySQL och Connection Pooling leder till oändligt blockerande/frysningsbeteende?