Как мне развернуться в большом запросе?
Предположим, моя таблица похожа на -
id event ---------- 1 type 1 1 type 2 2 type 2 2 type 2 2 type 2 3 type 1
Я хочу запросить что-то вроде этого -
id type1 type2 ---------- 1 1 1 2 0 3 3 1 0
Вам нужно условно sum()
sum()
select id, sum(case when event = 'type 1' then 1 else 0 end) as type1, sum(case when event = 'type 2' then 1 else 0 end) as type2 from table t group by id;
Вы можете использовать условное агрегирование:
select id, sum(case when event = 'type 1' then 1 else 0 end) as type1, sum(case when event = 'type 2' then 1 else 0 end) as type2 from t group by id;