Selecting the highest value in a column?
Beyond ypercube's answer, I would solve this with either of the following queries. I like the first because it's easier for my poor head to comprehend. 

The second usually provides better performance but it always takes me a bit to "get it." 

-- this approach uses row_number to provide an ordered window based
-- resetting whenever the group id changes
SELECT
*
FROM
(
    SELECT
        P.*
    ,   ROW_NUMBER() OVER (PARTITION BY P.PrntP_PstnGrpID ORDER BY P.ChldLevel DESC) AS rn
    FROM
        dbo.P_PositionGroupFlat P
) D
WHERE D.rn = 1
ORDER BY 1;


-- this approach is my new favorite
-- has shown better performance than the above approach
SELECT
P.*
FROM
    dbo.P_PositionGroupFlat P
WHERE
    P.ChldLevel = 
    (
        SELECT
            MAX(PI.ChldLevel)
        FROM
            dbo.P_PositionGroupFlat PI
        WHERE
            PI.PrntP_PstnGrpID = P.PrntP_PstnGrpID
    )
ORDER BY 1;


http://sqlfiddle.com/#!3/3a958/4