sql >> Database teknologi >  >> RDS >> Oracle

SQL-forespørgsel:Returner maks. værdipost for en gruppe

brug row_number() vinduesfunktion

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 du kan bruge korreleret underforespørgsel

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. Hvordan eksporterer man millioner af rækker fra MySQL til CSV via PHP uden at opbruge hukommelsen?

  2. installer pakker fra docker-compose.yml i docker container

  3. Pl/SQL-indlejret procedureundtagelseshåndtering

  4. Er der en måde at udtrække tekst, der matcher et regulært udtryk, fra en kolonne i MySQL?