我有一个表tb_user,其中的记录如下:
Name gender location grewup
Arun male india britain
sonia female USA dubai
sheetal female india Russia
我要做的是根据位置获取记录:
Location Total Count Female Male
United States 50 30 20
Canada 30 17 13
Lebanon 20 10 10
Germany 10 2 8
France 5 2 3
select `Location`, COUNT(id) as totalcount,(select COUNT(id) from tb_user where `gender` = 'Female') as female,(select COUNT(id) from tb_user where `gender` = 'Male') as male FROM tb_user GROUP BY `Location`
我在上面使用了上面的查询,但我正在获取来自不同国家/地区的用户总数,该总数满足一个条件,即总计数,但是我还希望获得女性和男性候选人的数量,但是此查询提供的是男性总数和每行的女性。
最佳答案
选择*从
(选择位置,COUNT(id)作为总数
来自tb_user
GROUP BY位置)作为foobar
自然加入
(选择位置,COUNT(id)为女性
来自tb_user
按位置分组,性别
具有性别=“女性”)作为foo
自然加入
(选择位置,COUNT(id)为男性
来自tb_user
按位置分组,性别
拥有性别=“男性”)
希望它能工作
关于mysql - 如何从性别表中获取用户数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49187080/