WITH CTE AS (SELECT [User],GWP, ROW_NUMBER() OVER(PARTITION BY [User] ORDER BY GWP DESC) AS rnFROM MyTable)SELECT [User],GWPFROM CTEWHERE rn=1;
SELECT [User], MAX(GMP)FROM MyTableGROUP BY [User]
CREATE TABLE dbo.Users( UserName varchar(50) NOT NULL, MiddleColumn integer NOT NULL, GWP money NOT NULL);
INSERT dbo.Users (UserName, MiddleColumn, GWP)SELECT 'Salesperson A', 23171, 320230.00 UNION ALLSELECT 'Salesperson B', 11782, 199584.00 UNION ALLSELECT 'Salesperson C', 16769, 14437175.00 UNION ALLSELECT 'Salesperson D', 17191, -635580.00 UNION ALLSELECT 'Salesperson A', 16844, 122000.00 UNION ALLSELECT 'Salesperson B', 18708, 159775.00 UNION ALLSELECT 'Salesperson D', 10969, 225295.00 UNION ALLSELECT 'Salesperson C', 18681, 73040.00 UNION ALLSELECT 'Salesperson D', 26480, 768201.00 UNION ALLSELECT 'Salesperson A', 10310, -111325.00 UNION ALLSELECT 'Salesperson B', 17291, -460550.00 UNION ALLSELECT 'Salesperson B', 11116, 323329.00 UNION ALLSELECT 'Salesperson E', 19162, -65940.00 UNION ALLSELECT 'Salesperson C', 11224, 947025.00 UNION ALLSELECT 'Salesperson A', 10568, 73040.00;
SELECT * FROM dbo.Users AS uWHERE GWP = ( SELECT MAX(u2.GWP) AS MaxGWP FROM dbo.Users AS u2 WHERE u2.UserName = u.UserName )
Select U.* from dbo.Users U with (Nolock)Join (Select username, MAX(GWP) MGWP from dbo.Users with (Nolock)Group by username) as Aon A.UserName=u.UserName and A.MGWP=U.GWP
SELECT U.* FROM dbo.Users AS UJOIN ( SELECT U2.UserName, MAX(U2.GWP) AS MGWP FROM dbo.Users AS U2 GROUP BY U2.UserName) AS A ON A.UserName = U.UserName AND A.MGWP = U.GWP