MYSQL聚合函数

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: 有一些数据可以直接在sql里求值,不用非得在业务逻辑上算,所以记录一下。如果搭配这个与其他编程语言配合使用,将有不错的效果。

@[TOC]

0 写在前面

有一些数据可以直接在sql里求值,不用非得在业务逻辑上算,所以记录一下。

MySQL聚合函数有:

AVG()函数,求平均数

COUNT()函数,求个数

SUM()函数,求总和

MAX()函数,求最大值

MIN()函数,求最小值

1 SQL准备

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for scores
-- ----------------------------
DROP TABLE IF EXISTS `scores`;
CREATE TABLE `scores`  (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `name` varchar(16) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '姓名',
  `math_scores` int(8) NULL DEFAULT NULL COMMENT '数学成绩',
  `english_scores` int(8) NULL DEFAULT NULL COMMENT '英语成绩',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 21 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact;

-- ----------------------------
-- Records of scores
-- ----------------------------
INSERT INTO `scores` VALUES (1, '艾比', 95, 60);
INSERT INTO `scores` VALUES (2, '贝尔德', 100, 100);
INSERT INTO `scores` VALUES (3, '凯迪', 60, 25);
INSERT INTO `scores` VALUES (4, '黛莉亚', 98, 80);
INSERT INTO `scores` VALUES (5, '伊尔利', 70, 79);
INSERT INTO `scores` VALUES (6, '法比奥拉', 60, 21);
INSERT INTO `scores` VALUES (7, '盖坦', 96, 88);
INSERT INTO `scores` VALUES (8, '哈克姆', 66, 66);
INSERT INTO `scores` VALUES (9, '伊恩', 31, 90);
INSERT INTO `scores` VALUES (10, '杰克', 88, 34);
INSERT INTO `scores` VALUES (11, '卡德', 28, 80);
INSERT INTO `scores` VALUES (12, '拉斐特', 5, 90);
INSERT INTO `scores` VALUES (13, '玛德琳', 79, 64);
INSERT INTO `scores` VALUES (14, '奈西亚', 87, 59);
INSERT INTO `scores` VALUES (15, '奥巴马', 63, 78);
INSERT INTO `scores` VALUES (16, '巴塞尔', 100, 77);
INSERT INTO `scores` VALUES (17, '卡特', 79, 94);
INSERT INTO `scores` VALUES (18, '拉德克力夫', 58, 68);
INSERT INTO `scores` VALUES (19, '萨布丽娜', 21, 94);
INSERT INTO `scores` VALUES (20, '泰博', 90, 31);

SET FOREIGN_KEY_CHECKS = 1;

在这里插入图片描述

2 举例说明

2.1 AVG()

求平均数,假设我现在要求这个班里的数学和英语平均分数是多少。

sql:

SELECT
    AVG( math_scores ) AS '数学平均成绩',
    AVG( english_scores ) AS '英语平均成绩'
    
FROM
    `scores`

结果:
在这里插入图片描述

2.2 COUNT()

求个数,假设我现在要求,取得数学分为100分的有多少个人

sql:

SELECT
    count( math_scores ) 
FROM
    `scores` 
WHERE
    math_scores = 100

在这里插入图片描述

2.3 SUM()

求总数,假设现在要求学生的英语成绩的总成绩

sql:

SELECT
    SUM(math_scores)
FROM
    `scores`

在这里插入图片描述

2.4 MAX()

求最大值,假设现在英语最高分是多少

sql:

SELECT
    MAX(math_scores)
FROM
    `scores` 

在这里插入图片描述

2.5 MIN

求最小值,假设现在数学最低分是多少

sql:

SELECT
    MIN( math_scores ) 
FROM
    `scores`

在这里插入图片描述

3 写在末尾

本篇属于比较简单一篇,比较容易看懂。

虽然简单,如果搭配这个与其他编程语言配合使用,将有不错的效果。

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
24天前
|
SQL 关系型数据库 MySQL
mysql子查询、聚合函数
mysql子查询、聚合函数
|
29天前
|
关系型数据库 MySQL 数据挖掘
轻松入门MySQL:深入理解MySQL聚合函数,实战进销存项目中的应用与技巧(8)
轻松入门MySQL:深入理解MySQL聚合函数,实战进销存项目中的应用与技巧(8)
|
4月前
|
关系型数据库 MySQL 数据库
MySQL查询聚合函数与分组查询
MySQL查询聚合函数与分组查询
|
1天前
|
SQL 关系型数据库 MySQL
【MySQL】DQL-聚合函数介绍&常见聚合函数&语法&注意事项&可cv例题语句
【MySQL】DQL-聚合函数介绍&常见聚合函数&语法&注意事项&可cv例题语句
|
8月前
|
关系型数据库 MySQL BI
MySQL数据库操作篇3(聚合函数&分组查询)
MySQL数据库操作篇3(聚合函数&分组查询)
92 0
|
9月前
|
关系型数据库 MySQL
[MySQL]聚合函数与分组(三)
[MySQL]聚合函数与分组(三)
[MySQL]聚合函数与分组(三)
|
5月前
|
SQL 关系型数据库 MySQL
Mysql数据库 5.SQL语言聚合函数 语言日期-字符串函数
Mysql数据库 5.SQL语言聚合函数 语言日期-字符串函数
42 0
|
6月前
|
关系型数据库 MySQL
mysql聚合函数
mysql聚合函数
40 0
|
9月前
|
SQL 关系型数据库 MySQL
[MySQL]聚合函数与分组(二)
[MySQL]聚合函数与分组(二)
|
9月前
|
存储 关系型数据库 MySQL