MySQL:24---MySQL聚合函数(count、avg、min、max、sum)

 本片文章会用到的三个表

create table customers(

c_id           int            not null  auto_increment,

c_name     char(50)    not null,

c_address char(50)   null,

c_city       char(50)     null,

c_zip        char(10)     null,

c_contact char(50)     null,

c_email    char(255)     null,

primary key(c_id)

);

create table orderitems(

o_num    int       not null,

o_item    int        not null,

f_id      char(10)  not null,

quantity  int       not null,  //数量

item_price    decimal(8,2)     not null,   //单价

primary key(o_num,o_item)

);

create table fruits(

f_id       char(10)          not null,

s_id       int                   not  null,

f_name  char(255)       not null,

f_price   decimal(8,2)  null,

primary   key(f_id)

);

一、count函数

  • count(*);  //没有order by时,返回表中总的行数。有order by时,返回指定字段的函数。空值的行也显示
  • count(字段名);  //返回指定字段的总行数,空值的行也显示
  • 求出customers表中的总行数

  • 求出表中c_email字段的行数

  • 查询总的o_num行,然后每种o_num对应多少种f_id

二、sum函数

  • 功能:返回指定字段的值总和
  • sum会忽略值为NULL的行
  • 返回o_num为30005的订单一共购买了多少数量的水果

  • 先给o_num字段分组,然后求出每种o_num的水果的数量

三、avg函数

  • 功能:通过返回的行数和每一行数据的和,求出指定列数据的平均值
  • avg函数使用时,其参数为要计算的列名称。如果要得到多个列的多个平均值,则需要在每一列上使用avg函数
  • 查询s_id=103的供应商的水果的平均价格

  • 查询每一个供应商的水果的价格平均值

四、max函数

  • 功能:返回指定列中的最大值
  • max不仅适用于查找数值类型,也可用于字符类型
  • 在fruits表中查找市场上价格最高的水果值

  • 查找不同供应商自己提供的水果中,价格最高的水果

五、min函数

  • 功能:返回指定列中的最小值
  • max不仅适用于查找数值类型,也可用于字符类型
  • 在fruits表中查找市场上价格最低的水果值

  • 查找不同供应商自己提供的水果中,价格最低的水果

猜你喜欢

转载自blog.csdn.net/qq_41453285/article/details/88318318