Для правильной группировки при использовании оператора Union вам необходимо выполнить следующие шаги:
1. Объедините два запроса, используя оператор Union, как вы сделали в своем запросе:
(SELECT id, type FROM t1 WHERE type = 1) UNION (SELECT id, type FROM t1 WHERE type = 2)
2. Затем оберните объединенный запрос в подзапрос, чтобы выполнить группировку только по id, которые присутствуют только в первом запросе:
SELECT id, MAX(type)
FROM
(SELECT id, type FROM t1 WHERE type = 1
UNION
SELECT id, type FROM t1 WHERE type = 2) AS subquery
GROUP BY id
В результате будет выполнена группировка только для id, которые присутствуют только в первом запросе.