Вы, похоже, хотите условную агрегацию:
select col1, col3,
max(case when column2 = 'abc' then timestamp1 end) as timestamp1,
max(case when column2 = 'xyz' then timestamp2 end) as timestamp2,
max(case when column2 = 'pqr' then timestamp3 end) as timestamp3
from t
group by col1, col3;
Примечание: у меня есть ответ Зайнул, который на самом деле имеет больше смысла для меня, основываясь на предоставленных данных.Проще предположить, что желаемые результаты являются минимальными значениями.Однако это также правильное толкование вопроса, и оно разъясняется в комментариях к этому ответу.