0
我有一个数据透视表以及各自的字段。如何在数据透视表(MySQL)中将子列的值分组到子条目中
- 区
- 块上方
- MaleCount
- FemaleCount
是列名。所以,基本上,我已经按区域和区块分组了所有这些文件。为此,我在MySQL中编写了以下查询。
select
ds.ds_name as district,
bs.bl_name as block,
case
when sd.gender_id = 1 then count(gender_id)
else 0
end as MaleCount,
case
when sd.gender_id = then count(gender_id)
else 0
end as FemalCount,
from studet data sd
inner join district ds on ds.district_id = sd.ds_id
inner join block bs on bs.block_id = sd.bs_id
group by bs.block_name, ds.district_name;
其给出以下结果
district | block | FemalCount | MaleCount
xyz | abc | 4 | 5
| cvz | 5 | 9
ytz | tyz | 7 | 3
| awe |3 |8
最主要的是,我想下面的那种结果集。
district | block | FemalCount | MaleCount
xyz | abc | 4 | 5
| cvz | 5 | 9
total | | 9 | 14
ytz | tyz | 7 | 3
| awe | 3 | 8
total | | 10 | 11
其中包括Malecount和FemaleCount的小计行,如上所述,按块和区分组。我怎么能在MySQL查询中实现这一点?
什么是在零,cvz和null后产生子总数的逻辑,敬畏? –
我想要区域明智的女性和男子计数小计。 –
有一些东西看起来有问题 - 你选择ds.ds_name作为分区,但是通过ds.district_name(类似于块)选择组,当sd.gender_id =缺少女性计数的条件时,你说你想要按分区和块分组,但代码按块和分区分组,在femalcount之后和from语句之前有一个逗号,来自studet数据sd应该是什么。你想清理代码并提供一些示例数据吗? –