该如何才能与世界陷入爱河?

MySQL函数学习(四)-----聚合函数

注:笔记旨在记录

四、MySQL 聚合函数

\ 函 数 名 称 作 用 完 成
1 MAX 求最大值
2 MIN 求最小值
3 COUNT 求数量
4 BIT_COUNT 求换算成二级制后1的个数
5 ROW_COUNT sql操作所影响的行数
6 SUM 求和
7 AVG 求平均值

0.

0.1 num表:

CREATE TABLE `anyot`.`Untitled`  (
`id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
`rand_int_num` int NULL DEFAULT NULL,
`rand_decimal_num` decimal(65, 2) NULL DEFAULT NULL,
`rand_string_num` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

聚合函数00_num表.png


1. MAX() -- 求最大值

1.1. 函数:

  • MAX(int)、MAX(decimal)、MAX(str) : 求最大值

注:int , decimal , string等等都可以求,字符串按ASCII大小来求


1.2. sql示例:

SELECT
    MAX(rand_int_num),MAX(rand_decimal_num),MAX(rand_string_num) 
FROM num

聚合函数1_MAX.png


2. MIN() -- 求最小值

2.1. 函数:

  • MAX(int)、MAX(decimal)、MAX(str) : 求最小值

2.2. sql示例:

SELECT 
    MIN(rand_int_num),MIN(rand_decimal_num),MIN(rand_string_num) 
FROM num

聚合函数2_MIN.png


3. COUNT() -- 求总数

3.1. 函数:

  • COUNT(*)、COUNT(exp): 求表总数据数或是某个字段的数据数

注: exp表字段名,此时计算值会自动忽略null值的数据


3.2. sql示例:

SELECT 
    COUNT(*),COUNT(rand_int_num),COUNT(rand_decimal_num) 
FROM num

聚合函数3_COUNT.png


4. BIT_COUNT() -- 求1个数

4.1. 函数:

  • BIT_COUNT(): 计算换算成二级制后其中1的个数

4.2. sql示例:

SELECT 
    rand_int_num,BIT_COUNT(rand_int_num),rand_decimal_num,BIT_COUNT(rand_decimal_num) 
FROM num

聚合函数4_BIT_COUNT.png


5. ROW_COUNT() -- 求操作的行数

5.1. 函数:

  • LEFT(str,len): 取字符串从左往右的若干各字符

5.2. sql示例:

UPDATE 
    num set rand_int_num = "21",rand_decimal_num = "32"
where id ="7";
SELECT ROW_COUNT();

字符串函数5_LEFT与RIGHT.jpg

注:要连在sql操作后用,返回值为-1表示前无操作


6. SUM() -- 求和

6.1. 函数:

  • SUM(epx) :求某字段所有值的和,自动忽略null值和非数值型的值

6.2. sql示例:

SELECT 
    SUM(rand_int_num),SUM(rand_decimal_num),SUM(rand_string_num)  
FROM num

聚合函数5_SUM.png

注:特别注意字符串小数计算时,要设置精度,不然结果可能会不对,主要是浮点数计算的问题


7. AVG -- 求平均值

7.1. 函数:

  • AVG(epx): 求某一字段的平均值

7.2. sql示例:

SELECT 
    SUM(rand_int_num)/count(rand_int_num),AVG(rand_int_num),AVG(rand_decimal_num),AVG(rand_string_num)  
FROM num

聚合函数6_AVG.png


posted @ 2022-07-12 11:41  hmpn  阅读(158)  评论(0编辑  收藏  举报