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

SQL - Sådan vælger du en række med en kolonne med maks. værdi (+ grupper efter)

Det lyder som om du vil vælge rækken med den højeste high_val for hver kategori. Hvis ja, kan du bruge row_number() at rangere hver række inden for en kategori i henhold til dens high_val værdi, og vælg kun de højest rangerede rækker, 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. Implementering af kommentarer og likes i databasen

  2. korrekt måde at indsætte data med id som auto-increment i mysqli

  3. Oprettelse af en DDL for en baseline for flyway

  4. Sådan installeres Nextcloud 15 på Ubuntu 18.04