前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >mysql中having怎么用?

mysql中having怎么用?

作者头像
灬沙师弟
发布2024-11-11 20:25:11
发布2024-11-11 20:25:11
960
举报
文章被收录于专栏:Java面试教程

前言

面试官:来吧,说一下mysql中 having怎么使用的?

正文

我们使用having 都是和group by 一起使用。

举个例子:假设一个成绩表,字段有:class , score ,name ,sex

我们查每一个班级的平均分是这样子查的

select class, avg(score) from table group by class

那现在有一个特殊的要求,要查出平均分大于80的班级

select class, avg(score) from table group by class having avg(score)>80

面试官又问:那where 和 having 一起使用,是怎么使用的?

以上面的例子继续距离,我们的需求是要 查询出每个班级的男生的平均分,且平均分大于80的班级有哪些?

select class ,avg(score) from table where sex='male' group by class having avg(score)>80

面试官再问:没group by 能用having吗

可以是可以,但是意义并不大

select * from table where score>80

select * from table having score>80

这俩一样

面试官还问:那你说说 where 和 having 区别是什么?

where一般是用于对于表进行筛选

having一般是用于 对于分组进行筛选

那上面的例子

select class, avg(score) from table group by class having avg(score)>80

这就是group by class, 用class做了分组 ,在拿avg(score)对分组内进行筛选

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-11-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java面试教程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 正文
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档