聚集函数
聚集函数有五种类型:
COUNT
函数sum
函数AVG
函数MAX
函数MIN
函数
示例:使用COUNT(*)函数来统计数据库中学生信息表中的行数。
示例:统计学生信息表的“兴趣爱好”的数量:
上面两个代码得到的行数不同,因为不是每个学生都有兴趣爱好,NULL
不会被统计。
分组与筛选表达式
SQL语句中使用group by
子句和having
子句对映像语句所得到的集合元组分组和设置逻辑条件进行筛选。
所有在
GROUP BY
子句中指定的表达式里,具有相同结合值的记录行将按一组处理,在结果集里以一行结束。聚集函数可以与
group by
一起使用将记录分组。当带有
group by
子句时,聚集函数将为每个组统计值。
统计学生成绩表中,每个学生的平均成绩:
带group_concat()
的分组
group_concat()
的分组group_concat()
函数将每组的结果以字符串形式连接起来。
示例:将每个学生的成绩统计并且排列展示:
带with rollup
的分组
with rollup
的分组可在group by
子句里使用with rollup
修饰符进行汇总,以产生多个级别的统计值。
示例:查询统计每个学生的总成绩并显示汇总信息
having
having
having
子句被用于消除基于聚集值的记录行。
示例:查询统计每个学生的总成绩,并保留总成绩大于520的结果:
嵌套子查询
嵌套子查询是将一个查询结果作为另一个查询结果的条件的一种查询语法。
因为本质上一个查询结果就是一个临时的表。
Last updated