MySQL聚集函数的使用

先创建三张表并添加数据:

  • 顾客表:
CREATE TABLE IF	NOT EXISTS `customer` (`user_id` INT AUTO_INCREMENT COMMENT '顾客id',`username` VARCHAR( 255 ) NULL COMMENT '顾客名称',`telephone` VARCHAR( 255 ) NULL COMMENT '顾客电话',PRIMARY KEY ( `user_id` ) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO customer (`user_id`, `username`, `telephone`) VALUES (1, 'zxzxz', '1327');
INSERT INTO customer (`user_id`, `username`, `telephone`) VALUES (2, 'youku1327', '1996');
  • 商品表
CREATE TABLE IF	NOT EXISTS `product` (`product_id` INT AUTO_INCREMENT COMMENT '商品id',`product_name` VARCHAR ( 255 ) NULL COMMENT '商品名称',`price` VARCHAR ( 255 ) NULL COMMENT '商品价格',PRIMARY KEY ( `product_id` ) );INSERT INTO product ( `product_id`, `product_name`, `price` ) VALUES ( 1, '苹果', '5' );
INSERT INTO product ( `product_id`, `product_name`, `price` ) VALUES ( 2, '梨', '4' );
INSERT INTO product ( `product_id`, `product_name`, `price` ) VALUES ( 3, '香蕉', '3' );
  • 订单表
CREATE TABLE IF NOT EXISTS `order` (
`id` INT NOT NULL AUTO_INCREMENT COMMENT'订单id',
`user_id` INT NULL COMMENT '客户id',
`product_id` INT NULL COMMENT '商品id',
`order_name` VARCHAR(255) NULL COMMENT '订单名称',
PRIMARY KEY (`id`)
);INSERT INTO `order` (`id`, `user_id`, `product_id`, `order_name`) VALUES(1, 1, 1, '乖乖订单');
INSERT INTO `order` (`id`, `user_id`, `product_id`, `order_name`) VALUES(2, 2, 2, '悦悦订单');
INSERT INTO `order` (`id`, `user_id`, `product_id`, `order_name`) VALUES(3, 1, 3, '可可订单');

聚集函数的定义:将一些行的数据运行某些函数,返回一个期望值。

1. avg() 平均值

avg()函数计算行的数量,通过计算这些行的特定列值和,计算出平均值(特定列值之和/行数=平均值)。使用时注意其会忽略列值为null的行:

SELECT AVG(price) FROM product;
  • 语句分析:查询价格平均值来自商品表(5+4+3)/3=4

  • 结果:

2. count() 计算行数

count()函数计算行数,count(*)计算所有行的数目,count("column")会忽略columnNULL的行数:

SELECT count(*) FROM product;
  • 语句分析:查询总函数来自商品表

  • 结果:

 

3. max() 列值的最大值

max()函数返回特定列值的最大值,忽略特定列为NULL的行:

SELECT MAX(price) FROM product;
  • 语句分析:查询价格的最大值来自商品表

  • 结果:

 

4. min() 列值的最小值

min()函数返回特定列的最小值,忽略特定列为NULL的行:

SELECT MIN(price) FROM product;
  • 语句分析:查询价格的最小值来自商品表

  • 结果:

 

5. sum() 特定列的和

sum()返回特定列的和,忽略特定列为NULL的行:

SELECT SUM(price) FROM product;
  • 语句分析:查询价格的总和来自商品表

  • 结果:

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值