gpt4 book ai didi

mysql - 如何显示两个 mysql 表的交叉以及值的计数?

转载 作者:行者123 更新时间:2023-11-29 18:43:05 25 4
gpt4 key购买 nike

我在 MySQL 中有两个单独的表,它们之间有一个外键。 households 表和 mothers 表。

households 表如下所示。

hh_id    rural    urban    area
0001 1 0 12
0002 1 0 15
0003 0 1 12
0004 1 0 15

mothers 表看起来像这样

m_id    hh_id    lit    birth_assissted
0001 0002 1 1
0002 0003 0 0
0003 0001 0 1

两个表中还有更多字段。

如何获取以下形式的有关母亲的数据?

        birth_asssited    lit
urban 1 2
rural 2 2

这是两个表格的交叉,显示接受助产且识字的城市母亲的数量。同样,接受助产且识字的城市母亲数量。

家庭表的列显示为行,而母亲表的列显示为列,所有值都是计数。

最佳答案

如果保证农村和城市列是互斥的,你可以这样做

select 
case when hh.rural = 1 then 'rural' else 'urban' end,
sum(m.birth_assisted),
sum(m.lit)
from households hh left join mothers m on hh.hh_id = m.hh_id
group by hh.rural

我通常使用 MSSql,所以我不能 100% 确定这是完全有效的 mysql 语法,但它应该可以工作。

关于mysql - 如何显示两个 mysql 表的交叉以及值的计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44817315/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com