sql >> Databasteknik >  >> RDS >> Oracle

SQL-fråga:Returnera maxvärdespost för en grupp

använd row_number() fönsterfunktion

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

eller så kan du använda korrelerad underfråga

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. SQL för att hitta dubbletter (inom en grupp)

  2. Ansluter C# till Oracle

  3. JPA CriteriaBuilder hur man skapar join + like-fråga

  4. Java Android AsyncTask + mysql-anslutning