Oracle
 sql >> база данни >  >> RDS >> Oracle

SQL - Как да изберете ред с колона с максимална стойност (+ групиране по)

Изглежда, че искате да изберете реда с най-висок high_val за всяка категория. Ако е така, можете да използвате row_number() за класиране на всеки ред в рамките на категория според неговия high_val стойност и изберете само най-високо класираните редове, т.е. 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle SQL - DENSE_RANK

  2. Използвайте псевдоним на таблица в друга заявка, за да преминете през дърво

  3. IO грешка:Получих минус едно от повикване за четене

  4. Oracle SQL Query за извличане на конкретно събитие, използвайки конкретно условие в xpath?

  5. Ключовата дума FROM не е намерена, където се очаква