yongchaocsdn

2020-06-05

SQL面试经典50题:带你从聚合和分组开始!

前面我们介绍了MySQL数据库中的建表导表的步骤以及基础的SELECT语句,本篇再基于第一篇文章的数据基础上我们梳理下聚合和分组。使用聚合函数对表中的列进行计算合计值或者平均值等的汇总操作。通常,聚合函数会对NULL以外的对象进行汇总。但是只有COUNT函数例外,使用COUNT(*)可以查出包含NULL在内的全部数据行数。使用DISTINCT关键字删除重复值。用于汇总的函数称为聚合函数,所谓聚合,就是将多行汇总为一行,实际上,所有的聚合函数都是这样,输入多行输出一行。select count as ‘"李"姓老师的数量’ from teacher where t_name like ‘李%’ group by t_id;聚合键中包含NULL时,在结果中会以“不确定”行(空行)的形式表现出来。使用聚合函数和GROUP BY子句时需要注意以下4点。有分组没有聚合的情况:当按照主键进行分组时,select子句中没有聚合函数代码也不会报错,但这样的分组也基本没有意义,基本不会这样去写,这里只是举个小栗子。