sql中的group by的用法

user 表里面有name 和age 两个字段
name age

admin 34
admin 56
alex 38

我要对name 进行group by,
select name,age from user group by name,在我的印象中这句是报错的,因为不能
这样显示age的,我说的对吗,而且我查询资料貌似也是不可以的啊,求解答

分组函数,你group by name 前面还能select age?

对名字进行分组后,那age有多个,总得有个业务逻辑吧,比如年龄求平均(avg)或者年龄总和(sum),或者最大年龄max,最小年龄min
select name,sum(age) from user group by name

对于group,如果你age不进行分组,那么age字段就要用聚合函数。

当然错的,假设可以,那age是指什么呢?比如admin有两个,用哪个作为age呢?还是它们相加?所以需要一个聚合函数,比如max sum average等等

mysql中 如果group by name 那么 age只会选择一个,选择策略是mysql自己定的

group by 与聚合函数(sum,avg,max,count)一起才显意义,lz的意思莫非可以用order by搞定?