聚合函数,分组查询,连接查询综合例子
来源:互联网 发布:macbook air mac系统 编辑:程序博客网 时间:2024/05/22 16:52
实例如下:
update users set classes='1' where id in('u001','u002','u003','u004');
update users set classes='2' where id in('u005','u006','u007');
users表的内容如下:
+------+-----------+------------+------+-------+---------+
| id | firstname | secondname | age | count | classes |
+------+-----------+------------+------+-------+---------+
| u001 | 张 | 飞 | 18 | 60 | 1 |
| u002 | 赵 | 云 | 20 | 58 | 1 |
| u003 | 关 | 羽 | 22 | 80 | 1 |
| u004 | 刘 | 备 | 25 | 98 | 1 |
| u006 | 黄 | 盖 | 18 | NULL | 2 |
| u005 | 王 | 子云 | 12 | 20 | 2 |
| u007 | 诸葛 | 亮 | 24 | 100 | 2 |
+------+-----------+------------+------+-------+---------+
查询1班和2班的平均成绩:
select avg(count) from users group by classes;
//上面这种做法也是错误的。原因是从表中数据可以看出,count列的值有null值,这样的话聚合函数,求平均值的时候是不
会计算null值的。
select sum(count) from users group by classes;//各组count总和
select count(*) from users group by classes;//各组人员个数
select sum(count)/count(*) as avg from users group by classes;//各组count平均值
查询班级平均成绩不及格的班级详细人员信息
select sum(count)/count(*) as avg from users group by classes;
select classes,sum(count)/count(*) as avg from users group by classes;->temp
(select classes,sum(count)/count(*) as avg from users group by classes)as temp
//查出班级的平均分数小于60的组 和平均分。
select classes,sum(count)/count(*) as avg from users group by classes having avg<60;-temp
//最终输出结果的语句(将原来的表和临时表做连接查询)
select * from users,
(select classes,sum(count)/count(*) as avg from users group by classes having avg<60)as temp
where users.classes=temp.classes;
//having 子句的作用。
1.聚合函数,一般用于分组查询。
2.分组查询中的select的数据项,只能是聚合函数,和分组的数据项本身。
比如,上面的group by classes中,在查询中除了聚合函数以外,只可能出现classes数据项。
出现其它数据项,语法上,不会直接报错,但是没有任何意义。
3.对于having子句,只用于分组,是对分组查询结果进行条件限制的。
也就是说在这个例子中,having子句中只能出现对classes的限定和聚合函数的值的限定。
0 0
- 聚合函数,分组查询,连接查询综合例子
- 聚合函数,分组查询,连接查询综合例子
- mysql分组查询聚合函数
- Hibernate-分组查询、聚合函数
- 聚合函数和分组查询
- 聚合函数查询、连接查询、子查询
- 7.排序、聚合函数、分组查询
- Elasticsearch分组聚合-查询
- oracle 连接查询,子查询,分组函数
- SQL语句聚合函数、分组、子查询及组合查询
- MYSQL基础_聚合函数_分组和多表连接查询
- MySQL中的分组聚合查询
- 【0042】SQL查询--分组聚合
- mysql 数据库笔记-基本查询(分组、聚合函数)
- HIbernate聚合函数和分组查询(学习笔记)
- Mysql学习之分组查询配合聚合函数
- MySQL数据库的聚合函数和分组查询
- mongodb聚合函数aggregate操作 分组分页查询统计
- Activex、OLE、COM、OCX、DLL之间的区别(转)
- 重启电脑之后文件丢失怎么办
- JAVA-线程安全性
- 云计算
- nginx “403 Forbidden” 错误的原因及解决办法
- 聚合函数,分组查询,连接查询综合例子
- 搭建高性能Jboss负载均衡集群
- C++ 定义引用型类成员变量
- ubuntu 下vim乱码
- dede 调用单页内容到首页 (栏目页的单页面内容)
- 获取Map集合中数据的方法
- JAVA运行时异常及常见的5中RuntimeExecption
- 简单说说c++ 中操作符重载,什么情况返回引用等
- curses库输入函数样例