Sunday 15 July 2012

sql - Getting distinct values with the highest value in a specific column -



sql - Getting distinct values with the highest value in a specific column -

how can highlighted rows table below in sql? (distinct rows based on user name highest version highlighted)

in case need plain text table:

+----+-----------+---+ | 1 | john | 1 | +----+-----------+---+ | 2 | brad | 1 | +----+-----------+---+ | 3 | brad | 3 | +----+-----------+---+ | 4 | brad | 2 | +----+-----------+---+ | 5 | jenny | 1 | +----+-----------+---+ | 6 | jenny | 2 | +----+-----------+---+ | 7 | nick | 4 | +----+-----------+---+ | 8 | nick | 1 | +----+-----------+---+ | 9 | nick | 3 | +----+-----------+---+ | 10 | nick | 2 | +----+-----------+---+ | 11 | chris | 1 | +----+-----------+---+ | 12 | nicole | 2 | +----+-----------+---+ | 13 | nicole | 1 | +----+-----------+---+ | 14 | james | 1 | +----+-----------+---+ | 15 | christine | 1 | +----+-----------+---+

what have far (works 1 user)

select user, version table user = 'brad' , version = (select max(version ) table user= 'brad')

this might help :

select id, user, version ( select id, user, version, row_number() on (partition user order version desc) rownum yourtable ) t t.rownum = 1

sql fiddle

sql oracle distinct

No comments:

Post a Comment