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

Come ottenere il massimo per un campo in base a una data e ottenere anche altri campi?

Per ogni tasto di avvio, vuoi trovare il valore "min" massimo. questo può essere fatto tramite una sottoquery annidata. Quindi, seleziona solo dove min è uguale a max(min). Inoltre, se hai una situazione in cui due record possono avere lo stesso valore startkey e min, dovrai risolverlo, altrimenti li selezionerai entrambi .

select  startkey, name, min, lname, mname, id
from T T1
where min = 
 (select max(min) from T T2 where T1.startkey=T2.startkey)

order by startkey