• Four steps

    Query "step1":

    SELECT a.col1, Max(a.col2) AS MaxOfcol2

    FROM a

    GROUP BY a.col1;

    Query "step2":

    SELECT a.col1, Max(a.col2) AS MaxOfcol21

    FROM a LEFT JOIN step1 ON (a.col1 = step1.col1) AND (a.col2 = step1.MaxOfcol2)

    WHERE (((step1.MaxOfcol2) Is Null))

    GROUP BY a.col1;

    Query "step3":

    select * from step1

    UNION ALL select * from step2;

    Query "step4":

    SELECT a.col1, a.col2, a.col3

    FROM step3 INNER JOIN a ON (step3.col1 = a.col1) AND (step3.MaxOfcol2 = a.col2);