CoderXz~ 2022-04-20 13:30 采纳率: 40%
浏览 245
已结题

group by后面是否可以加两个字段,和having后一个字段答案是一样的,group by后面规定只能加一个字段吗?

select 班号,avg(身高) as 女生平均身高
from 学生表
where 性别='女'
group by 班号

select 班号,avg(身高) as 女生平均身高
from 学生表
group by 班号,性别
having 性别='女'

img

img

  • 写回答

5条回答 默认 最新

  • xtasce2012 2022-04-20 16:10
    关注

    1.你第一段sql,以班号分组,筛选性别为女,得到结果为各班级的女生平均身高;
    2.你第二段sql,以班号、性别分组,having筛选性别为女,目的也为查询各班的女生平均身高;
    3.执行结果上,第二段sql执行不了,原因是你group by 后的字段在select后没有写,如果select 班号,性别, avg (身高)是可以执行的;
    4.解析: where和having都是筛选条件,where是对from后的表进行条件筛选,having是对group by之后的数据集进行筛选。两者都是筛选条件,结果可以雷同,但是意义不同,而且可用where就先用where,再用haivng。题主对于sql执行先后顺序可以再去看看。希望对你有所帮助。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 4月28日
  • 已采纳回答 4月20日
  • 创建了问题 4月20日