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);