Несколько групп по общему количеству в postgresql
Я могу получить вид данных
верхушки
- девушка 5
- мальчик 10
джинсовый
- девушка 5
- мальчики 15
Теперь я хочу добавить одну дополнительную строку Total в выводе запроса. подобно
- Всего
- девушка 10
- мальчик 25
Это мой запрос
SELECT id, cloth_type, gender, qty, from
(SELECT
g.id as id,cloth.type as cloth_type, g.gender as gender, g.qty as qty
0 AS sortorder -- added a sortorder column
from
cloth_master cloth
inner join
gender_master g on cloth.gender_id = g.id
group by cloth.type, g.gender g.id
UNION ALL
SELECT
g.id as id,cloth.type as cloth_type, g.gender as gender, g.qty as qty
1 AS sortorder -- added a sortorder column
from
cloth_master cloth
inner join
gender_master g on cloth.gender_id = g.id
group by cloth.type, g.gender g.id
) AS unionquery
) ORDER BY sortorderenter
Я пытаюсь с UNION ALL, но не получаю точного решения, может ли кто-нибудь мне помочь?
1 ответ
В Postgres вы можете использовать наборы группировки;
select coalesce(col1, 'Total'), col2, count(*)
from t
group by grouping sets ((col1, col2), (col1));
Вы можете прочитать о GROUPING SETS
в документации.