• That would be one for a ranking function. Depending on how you want to do what you need to do and then also what you want to do if the 2 people have the max score.

    ROW_NUMBER()

    RANK()

    DENSE_RANK()

    NTILE()

    Each behaves differently.

    DECLARE @Table TABLE (Name CHAR(3), DOB DATE, Score INT)

    INSERT INTO @Table VALUES ('Ant',GETDATE(),10),('Bob',GETDATE()-1,10),('Mum', GETDATE()-2,5)

    SELECT * FROM @Table

    ;with RowNumber as

    (

    SELECT ROW_NUMBER() OVER(ORDER BY Score DESC) AS RowNum, Name, DOB, Score FROM @Table

    )

    select * from RowNumber where RowNum = 1

    ;with ranking as

    (

    SELECT RANK() OVER(ORDER BY Score DESC) AS RowNum,Name, DOB, Score FROM @Table

    )

    SELECT * from ranking where RowNum = 1

    ;with dense_ranking as

    (

    SELECT DENSE_RANK() OVER(ORDER BY Score DESC) AS RowNum,Name,DOB,Score FROM @Table

    )

    SELECT * FROM dense_ranking WHERE RowNum = 1

    ;with ntileing as

    (

    SELECT NTILE(2) OVER(ORDER BY Score DESC) AS RowNum, Name, DOB, Score FROM @Table

    )

    SELECT * FROM ntileing WHERE RowNum = 1