mysql group by having不会用啊 分组结果只有两条,要怎样查出所有记录再分组 呢

mysql group by having不会用啊 分组结果只有两条,要怎样查出所有记录再分组 呢,第1张

你按性别分组,因为性别就两个值,所以出来的肯定是两条结果,男一组女一组,这就是分组的意义。分组要和聚簇函数配合使用。

比如你想看男/女各有多少个,select sex,count(sex) from student group by sex得到的也是两条,男多少,女多少。

至于你想查出所有学生,那和分组没关系啊。或者你按学生姓名分组,这样有多少学生就有多少组,但这样还不如直接查全表呢。

select score,sex,name,count(*) from table group by sex order by score desc

score 分数 sex性别 name名字

---------------------------------------------------------

select score,sex,name,max(score) from table group by sex

这样试试?或者你union all试试

select name,sex,score from  table where sex='f' order by score desc union all

select name,sex,score from  table where sex='m' order by score desc limit 2

select sum(case when 性别='男' then 1 else 0 end) 男,sum(case when 性别='女' then 1 else 0 end) 女,count(*) 总数 from 学生表


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7435050.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存