一次简单的尝试
SELECT Price,Bedrooms,COUNT(*)
FROM student.house_price
报错
22:26:42 SELECT Price,Bedrooms,COUNT(*) FROM student.house_price GROUP BY avg(Price)>1200 LIMIT 0, 1000 Error Code: 1111. Invalid use of group function 0.015 sec
为什么会这样呢?
这是因为传递的是多列,因此需要group by 来进行分组,再由聚合函数来处理。
如果觉得抽象可以看下面的解释
创建一张表:篮球
假设可以使用聚合
SELECT 姓名,身高,count(*)
FROM 篮球
聚合函数是对结果进行聚合操作的
按照,执行路线来说,
from→select→聚合函数
对谁聚合?
所以:关于聚合函数的定义:将多行汇总成一行。
如果是多行,需要group by 来帮忙分组。