использовал другую таблицу с логическим значением для выборки (использовались атрибуты текста kvazi int, boolean и kvazi) ((отличается от вышеупомянутого отсутствием объединения и одним регистром)) (((я использовал sum
, как я думал, это то, что вы хотите- агрегировать по регистру))):
t=# select
case when not rolsuper then '-' else rolname::text end
, rolsuper
, sum(oid::text::int)
from pg_roles
group by case when not rolsuper then '-' else rolname::text end,rolsuper;
rolname | rolsuper | sum
----------+----------+--------
- | f | 144394
vao | t | 16555
postgres | t | 10
(3 rows)
, поэтому для вас должно быть что-то вроде:
select
case when not active then 0 else id end
, case when not active then '-' else name end
, active
, sum(sales)
from t
group by
case when not active then 0 else id end
, case when not active then '-' else name end
, active;