我有一个表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/

10-10 01:09