Вам необходимо использовать функцию SUM
и GROUP BY
SELECT calendar_date,SUM(active_flag) active_flag,SUM(inactive_flag) inactive_flag
FROM T
GROUP BY calendar_date
Если active_flag
и inactive_flag
состояния больше двух
, вы можете использовать выражение case when
с агрегатной функцией.
SELECT calendar_date,
COUNT(CASE WHEN active_flag = 1 THEN 1 END) active_flag,
COUNT(CASE WHEN inactive_flag = 1 THEN 1 END) inactive_flag
FROM T
GROUP BY calendar_date