Hi.I have a table with some instance data:Name Score Day-------------------------------------Peter 120 1Peter 130 2Peter 130 3Mary 85 2Mary 95 2David 90 1
And I want result similar toName High Personal Score First High Score Day-----------------------------------------------------------Peter 130 2Mary 95 2David 90 1
Please post any other query except following query.DECLARE @Sample TABLE ( Name CHAR(15) NOT NULL, Score TINYINT NOT NULL, Day TINYINT NOT NULL )INSERT @SampleSELECT 'Peter', 120, 1 UNION ALLSELECT 'Peter', 130, 2 UNION ALLSELECT 'Peter', 130, 3 UNION ALLSELECT 'Mary' , 85 , 2 UNION ALLSELECT 'Mary' , 95 , 2 UNION ALLSELECT 'David', 90 , 1 SELECT Name, Score=(SELECT MAX(Score) FROM @Sample WHERE Name=d.Name), day=(SELECT TOP 1 day FROM @Sample AS t1 WHERE Name=d.Name AND Score >=ALL (SELECT Score FROM @Sample AS t2 WHERE t1.Name=t2.Name) ORDER BY day) FROM( SELECT DISTINCT Name FROM @Sample ) AS dORDER BY name DESC