以 teacher 表为例,先查所有 teacher 信息:
可以使用 MIN() 函数对结果集取年龄最小值的数据:
执行结果如下图:
以 student 表为例,先查看所有 student 信息:
查询结果如下图:
可以使用 MAX() 函数对结果集取年龄最大值的数据:
执行结果如下图:
以 student_course、course、student 表内连接查询为例:
查询结果如下图:
使用 AVG 函数取分组数据平均年龄:
执行结果如下图 :
可以使用 HAVING 对上述结果筛选,例如选出选课学生平均年龄大于 20 的课程数据:
执行结果如下图:
本小节介绍了如何使用 MIN、MAX 两种聚合函数对查询结果集进行筛选,还介绍了如何在 GROUP BY中分组使用聚合函数,并且使用 HAVING 后面的条件对分组数据进行筛选,需要注意的是聚合函数产生的数据列最好重命名,这是因为后端程序语言在处理这些数据时需要规范的字段名,例如:
查询结果如下图:
select max(id) id, send_id, receiver_idfrom messages
where receiver_id='3'
group by send_id, receiver_id
order by id desc
limit 0,10
查询第三大值:select A, max(B) as thirdB from testwhere B not in (select top 2 B from test order by B desc)
--这里就把第一、二大的数去掉了
group by A
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)