可以按照任意字段分组,但是分组完毕后,比如group by post,只能查看post字段,如果想查看组内信息,需要借助于聚合函数。
聚合函数:
max 最大值
min 最小值
avg 平均值
sum 求和
count 总数
# 查询每个post字段下id的记录个数。 select post,count(id) as emp_count from employee group by post;
# 查询每个post字段下的salary字段数据的平均值。 select post,avg(salary) as emp_count from employee group by post;
强调:
如果我们用unique的字段作为分组的依据,则每一条记录自成一组,这种分组没有意义
多条记录之间的某个字段值相同,该字段通常用来作为分组的依据
如果没有group by,则整个表为一组,同意可以使用聚合函数。
# 查询整个表中最高的salary的值。 select max(salary) as emp_count from employee;
group_concat函数:
# 查询并列出每种post字段下面的name字段。 select post,group_concat(name) as emp_count from employee group by post;