sql - selecting a row using MIN or ROWNUM -
i have oracle table similar 1 below stores people's lastname firstname , age. if last name same people belong same family.
lastname firstname age =========================== 1 miller charls 20 2 miller john 30 3 anderson peter 45 4 bates andy 50 5 anderson gary 60 6 williams mark 15
i need write oracle sql query select youngest person each family. output shd select rows 1,3,4 , 6
how do ?
dense_rank()
ranking function generates sequential number , ties number generated same. prefer use dense_rank()
here considering family can have twins, etc.
select lastname, firstname, age ( select lastname, firstname, age, dense_rank() on (partition lastname order age) rn tablename ) a.rn = 1
Comments
Post a Comment