- 没见过group by没和聚合函数一起使用的 - 不会报错,新版mysql默认配置可以这样,如果要像老版之前。可以修改下配置。但是这样查出来的数据没有准确性。因为查询的未分组的列结果是随机的,仔细看解释 - 对,默认隐含分组了,结果看到不对 - 看我发的图,默认给合并了,你做个试验,看结果数据对不...
在
使用
group
by
分组
后展示其他字段
需要加any_value(字段名)
例如: select time from student
group
by time 还想获取其他字段信息
如下: select time,any_value(id),any_value(name),any_value(sex),any_value(grade) from student
group
by time,即可实现对其他字段信息的获取.
1.1 SQL中的
分组
查询
SQL查询中,通
GROUP
BY语名实现
分组
查询。
GROUP
BY子句要和
聚合函数
配合
使用
才能完成
分组
查询,在SELECT查询的字段中,如果没有
使用
聚合函数
就必须出现在ORDER BY子句中。
分组
查询后,查询结果为一个或多个列
分组
后的结果集。
GROUP
BY语法
SELECT 列名,
聚合函数
(列名)
FROM 表名
WHERE 列名 operator value
GROUP
BY 列名
[HAVING 条件表达式] [WITH ROLLUP]
在以上语句中:
聚合函数
–
分组
查询通常要与
聚合函数
一起
使用
,聚合函
相信小伙伴写sql语句时,如果用到了
group
by
分组
后,那么其他
未
分组
的 字段一定会用
聚合函数
,不然的话sql就会报错,下面就来看下为什么要这么
使用
一、
聚合函数
是什么?
聚合函数
:对一组值执行计算并返回单一的值。除 COUNT 以外,
聚合函数
忽略空值,如果COUNT
函数
的应用对象是一个确定列名,并且该列存在空值,此时COUNT仍会忽略空值。
意思就是说,
使用
聚合函数
时,给它传入多个值,而它把这些值通过计算给你返回唯一的一个。
二、为什么
使用
了
group
by后用需要用
聚合函数
因为
group
b
当我们在用hive进行数据表的操作时 我们会用得到
group
by
函数
那么如图1.1所示假如按照 name 和 month 进行
分组
SELECT
tl.name ,tl.month
,max(tl.amount) ASmonth_amount
,sum(tr.amount)
5. MIN:返回匹配的数值列的最小值
这些
聚合函数
通常用于
GROUP
BY 语句中,以对匹配的行进行
分组
并计算每个组的聚合结果。例如,可以
使用
以下 SQL 语句计算每个城市的平均人口:
SELECT city, AVG(population)
FROM cities
GROUP
BY city;