mysql聚合

聚合函数

方法功能
avg(字段名)该字段的平均值
max(字段名)该字段的最大值
min(字段名)该字段的最小值
sum(字段名)该字段所有记录的和
count(字段名)统计该字段记录的个数

聚合分组

group by

select country,avg(attack) from sanguo 
      group by country;

查看相同年龄,相同性别的人数

select age,sex,count(*) from class1 group by age,sex;

聚合筛选

having语句
eg.找出平均攻击力大于105的国家的前2名,显示国家名称和平均攻击力

select country,avg(attack) from sanguo 
      group by country
      having avg(attack)>105
      order by avg(attack) DESC
      limit 2;

注意

  1. having语句必须与group by联合使用。
  2. having语句存在弥补了where关键字不能与聚合函数联合使用的不足,where只能操作表中实际存在的字段。

去重语句

distinct语句

eg.表中都有哪些国家
  select distinct country from sanguo;
eg. 计算一共有多少个国家
  select count(distinct country) from sanguo;

相关推荐