Oracle
 sql >> Baza danych >  >> RDS >> Oracle

SQL - Jak wybrać wiersz mający kolumnę z maksymalną wartością (+ grupuj według)

Wygląda na to, że chcesz wybrać wiersz z najwyższą wartością high_val dla każdej kategorii. Jeśli tak, możesz użyć row_number() aby uszeregować każdy wiersz w kategorii zgodnie z jego high_val wartość i wybierz tylko wiersze o najwyższym rankingu, tj. 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. 4 sposoby na zmianę strefy czasowej w Oracle

  2. Jak obliczyć bieżącą sumę w SQL

  3. SSDT w Visual Studio 2015 Problem z połączeniem z Oracle

  4. Sekwencja w SQL Select

  5. ORA-01461:może powiązać wartość LONG tylko w celu wstawienia do kolumny LONG — występuje podczas wykonywania zapytania