mysql查询统计问题,请高手指点,查询出重复的个数,然后在重复的个数中进行其它查询

我的意思是所有的重名的人名字和数量都列出来,查出重名的人数,在查出重名的人中男性的人数姓名人数男性人数张三107李四82张三1125... 我的意思是所有的重名的人名字和数量都列出来,查出重名的人数,在查出重名的人中男性的人数
姓名 人数 男性人数
张三 10 7
李四 8 2
张三1 12 5
展开
 我来答
heyongsai
2014-02-10 · TA获得超过1184个赞
知道小有建树答主
回答量:472
采纳率:0%
帮助的人:301万
展开全部

select t.* from ec_test_tbl t;


select
t.name as 姓名,
count(1) as 人数 ,
(
select count(1)
from ec_test_tbl tt where 1=1
and tt.name = t.name
and tt.sex = '男'
group by t.name
) as 男性人数
from ec_test_tbl t where 1=1
group by t.name
having count(1) > 1

追问
select yuangong as 姓名, count(1) as 人数,(select count(1) from y_guahao where 1=1 and xingbie= '男' group by yuangong) as 男性人数 from y_guahao where 1=1 group by yuangong having count(1) 两个查询放一起就报错单独的运行可以
追答
请仔细观察我写的SQL,子查询和父查询之间是有勾连关系的,and tt.name = t.name
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式