MySQL数据库--分组与统计

目录

1.统计函数

1.1COUNT()函数

1.2SUM()函数

1.3AVG()函数

1.4MAX()函数

1.5MIN()函数

2.分组查询

2.1单独使用GROUP BY分组查询

2.2使用GROUP BY分组和统计函数一起查询

2.3HAVING限制分组查询结果


欢迎

1.统计函数

有时我们要的不是数据表中的原始数据,而是需要进行一点简单加工后的统计数据。

函数 功能描述
COUNT() 统计数据表中记录的行数
SUM() 计算某字段值的总和
AVG() 计算某字段的平均值
MAX() 计算某字段值的最大值
MIN() 计算某字段的最小值

1.1COUNT()函数

基本语法:

SEKECT COUNT(*)FROM 数据表名;

例:

查询数据表product中共有多少个商品记录

SELECT COUNT(*)FROM product;

1.2SUM()函数

基本语法:

SELECT SUM(字段名)FROM 数据表名;

例;

查询数据表profuct中的商品价格字段的总和

SELECT SUM(prod_price)FROM product;

1.3AVG()函数

语法:

SELECT AVG(字段名)FRM数据表名;

例:

查询数据表product中的商品价格字段的平均值

SELECT AVG(prod_price)FROM product;

1.4MAX()函数

语法:

SELECT MAX(字段名)FROM数据表名;

例:

查询数据表product中的商品价格字段的最大值

SELECT MAX(prod_price)FROM product;

1.5MIN()函数

语法:

SELECT MIN(字段名)FROM 数据表名;

例:

查询数据表product表中的商品价格字段的最小值

SELECT SUM(prod_price)FROM product;

2.分组查询

 在对数据表中的数据进行处理时,有时需要按照某个字段进行类别划分,然后针对不同分组进行统计。

MySQL提供了关键字GROUP BY来处理这一需求,GROUP BY可以根据某个或多个字段的值进行进行分组,字段值相同的划分为一组,基本语法如下:

SELECT 字段1,字段2,...
FROM 数据表名
GROUP BY 字段1,字段2,...
[HAVING 条件表达式];

2.1单独使用GROUP BY分组查询

例:

将数据表product中的记录按照供应商字段vend_id大的值进行分组

SELECT * FROM product GROUP BY vend_id;

2.2使用GROUP BY分组和统计函数一起查询

例;

将数据表product中的记录按照供应商字段vend_id的值进行分组,并显示prod_price字段的总和、均值、最大值、最小值

先按vend_id字段进行分组,再在分组基础上运行6个不同的统计函数

SELECT 
vend_id,COUNT(*),SUN(prod_price),AVG(prod_price),MAX(prod_price),MIN(prod_price)
FROM product
GROUP BY vend_id;

2.3HAVING限制分组查询结果

例;

将数据表product中的记录按照供应商字段vend_id的值进行分组,并显示prod_price字段的总和、均值、最大值、最小值,值显示prod_price字段均值在15以下的分组

SELECT 
vend_id,COUNT(*),SUN(prod_price),AVG(prod_price),MAX(prod_price),MIN(prod_price)
FROM product
GROUP BY vend_id
HAVING AVG(prof_price)<15;

感谢观看,再见

你可能感兴趣的:(MySQL数据库,数据库,mysql,sql)