sql >> Databáze >  >> RDS >> Oracle

Dotaz SQL:Vraťte záznam maximální hodnoty skupiny

použijte row_number() funkce 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

nebo můžete použít související poddotaz

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. Pomocí select do lokální proměnné a připraveného příkazu v mysql

  2. Funkce SUM() v PostgreSQL

  3. Jaký je nejlepší způsob vložení a aktualizace jednořádkové tabulky v MySQL?

  4. Způsoby, jak vám tento přístup může ušetřit peníze vaší firmy