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

Zapytanie SQL:Zwróć rekord maksymalnej wartości grupy

użyj row_number() funkcja okna

select * from
 ( select *,
  row_number()over(partition by s_name order by MARK_VALUE desc) rn
 from table_name
) t where t.rn=1

lub możesz użyć skorelowanego podzapytania

select t1.* from table_name t1
  where t.MARK_VALUE=(select max(MARK_VALUE) from table_name t2 where t2.S_NAME=t1.S_NAME)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy Oracle używa oceny zwarciowej?

  2. Pobieranie wiadomości ze skrzynki pocztowej za pomocą interfejsu API Mail_Client PL/SQL

  3. Zamieszanie w strefie czasowej Oracle 10g

  4. Funkcja CONCAT() w Oracle

  5. Jak grupować według 1 w SQL Server