前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >mysql中having怎么用?

mysql中having怎么用?

作者头像
灬沙师弟
发布于 2024-11-11 12:25:11
发布于 2024-11-11 12:25:11
5210
举报
文章被收录于专栏:Java面试教程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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
mysql数据库学习记录
菜菜有点菜
2023/11/23
4990
mysql数据库学习记录
SQL进阶-11-having子句
HAVING子句是SQL中非常重要的功能,本文将再次介绍该子句的使用。作者指出:SQL语句处理的对象是集合而不是记录,我们要有面向集合的思考方式。
皮大大
2021/03/01
7560
一个麻瓜的自我反思之SQL语句基础练习
前言 最近的我,一直处于笔试面试的状态。笔试的时候,发现很多培训班的同学都在拿手机抄袭,可是我没有。卷子上面的题目比较简单,都是我平时复习的知识点,写起来也比较得心应手。 image.png
用户2032165
2018/06/05
1K0
数据库面试题+解析
#03)查询存在" 01 "课程但可能不存在" 02 "课程的情况(不存在时显示为 null )
天蝎座的程序媛
2022/11/18
2890
滴滴2020年面试题:如何找出最小的N个数?
“学生表”里记录了学生的学号、入学时间等信息。“成绩表”里是学生选课成绩的信息。两个表中的学号一一对应。(滴滴2020年面试题)
猴子聊数据分析
2020/05/13
1.1K0
MySQL数据库常用命令
2、创建表:create table student(id int(4) primary key,name char(20));
wangmcn
2022/07/25
2.3K0
Mysql面试送命题
MySQL面试题 查询Student表中的所有记录的Sname、Ssex和Class列。 查询教师所有的单位即不重复的Depart列。 查询Score表中成绩在60到80之间的所有记录。 查询Score表中成绩为85,86或88的记录。 查询Student表中“95031”班或性别为“女”的同学记录。 以Class降序查询Student表的所有记录。 以Cno升序、Degree降序查询Score表的所有记录。 查询“95031”班的学生人数。 查询Score表中的最高分的学生学号和课程号。(子查询或者排序
FunTester
2021/09/14
6600
MySQL 快速入门(三)
ps:注意拿数据的时候,fetchone、fetchall、fetchmany类似光标移动,取到末尾就没得取了,再取会出问题;
HammerZe
2022/03/24
7300
MySQL 快速入门(三)
SQL 聚合查询
这看上去是个幼稚的问题,但我们还是一步步思考一下。数据以行为粒度存储,最简单的 SQL 语句是 select * from test,拿到的是整个二维表明细,但仅做到这一点远远不够,出于以下两个目的,需要 SQL 提供聚合函数:
黄子毅
2022/03/15
2.6K0
数据库基础(四) Sql语句速查(转)
order by 对查询结果排序[课程号从大到小排列:降序desc]; asc是升序排列
宇宙无敌暴龙战士之心悦大王
2022/01/10
7980
数据库基础(四) Sql语句速查(转)
SQL常见面试题目
一.学生表(学生id,姓名,性别,分数)student(s_id,name,sex,score) 班级表(班级id,班级名称)class(c_id,c_name) 学生班级表(班级id,学生id)student_class(s_id,c_id)(考察三表联查) 1.查询一班得分在80分以上的学生。
测试之道
2021/03/04
1.4K0
MySQL 基础知识笔记 第04期:分组查询和聚集函数
这一节内容,来通过一张测试表,进行 MySQL 分组查询和聚集函数的练习。 1 数据准备 建表及数据准备,以便后面 SQL 练习: use yzl; /* 使用yzl这个database */ drop table if exists student_info; /* 如果表student_info存在则删除表student_info */ CREATE TABLE `student_info` ( /* 创建表student_info */ `id` int(11) NOT NULL auto_i
数据库交流
2022/04/25
4550
MySQL 基础知识笔记 第04期:分组查询和聚集函数
MySQL-注释-Navicat基本使用-复杂查询练习题-解题思路-pymysql操作数据库-SQL注入-05
我们使用 navicat 这个数据库图形化界面管理软件来简化数据库操作,提高开发效率
suwanbin
2019/09/26
1.3K0
Mysql 小练习
设有一数据库,包括四个表:学生表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)。表结构及数据如下,请完成题目。
江小白
2018/12/26
2.1K0
Mysql基础操作(三)
count(card) 代表只统计card字段的个数,如果有null值不会被统计。
清菡
2020/12/02
5490
Mysql基础操作(三)
30道经典SQL面试题讲解(1-10)
本篇节选自书籍《对比Excel,轻松学习SQL数据分析》一书,主要讲解数据分析面试中常见的30道SQL面试题。
张俊红
2020/12/16
2.3K0
MySQL的单表多表查询
#4.like 'fdfdsf': parttern可以是%或_。 %表示任意多字符,_表示一个字符
老油条IT记
2020/03/23
14.8K0
滴滴2020年面试题:如何找出最小的N个数?
“学生表”里记录了学生的学号、入学时间等信息。“成绩表”里是学生选课成绩的信息。两个表中的学号一一对应。(滴滴2020年面试题)
猴子数据分析
2020/12/22
6540
滴滴出行二面笔试题
在喝奶茶的时候突然收到一封邮件,猝不及防的开始了滴滴出行国际部二面笔试。感觉题目还是比较基础的,我以为会有什么留存率一些比较困难的业务题,慌的我喝了几杯水,没想到十分钟就做完了,中途还接了个推销电话..
开心鸭
2020/10/26
8590
滴滴出行二面笔试题
登录和退出 MySQL 服务器建表约束数据库的三大设计范式查询练习事务推荐
最近在整理 sql 的时候发现一份优秀的笔记,是原作者学习 sql 所做的笔记,分享这份总结给大家,对大家对 sql 的可以来一次全方位的检漏和排查,感谢原作者 hjzCy 的付出,原文链接放在文章最下方,如果出现错误,希望大家共同指出!
wscats
2020/06/07
5.7K0
相关推荐
mysql数据库学习记录
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档