由于使用Group By,所以产生多组数据。
select中一次只能处理一行数据,所以无法一次处理一组数据。
只能将一组转化为一行数据。(例如:利用聚合函数)
例(1):
select 班级, AVG(年龄) as 平局年龄 from 学生表 group by 班级
上面SQL执行的过程是:
(1) 先执行from 然后根据“班级”进行分组(得到多个逻辑组)
(2) 然后执行select语句。select一次只能处理行数据,但不能处理“组数据”
所以写成
例(2)“select 年龄 from 学生表 group by 班级”将是错误的。
----------------------------------------------------
如果我们要想要利用“组数据”就需要将其进行转换。
例如上面的“例(1)”是利用AVG()去遍历“单组”的数据然后得到一个“单独数据”
(用于填充一行,然后select就能去处理这行了)。
不知道我理解的是否正确?