轻松上手MYSQL:掌握MYSQL聚合函数,数据分析不再难

​🌈 个人主页:danci_
🔥 系列专栏:《设计模式》《MYSQL》
💪🏻 制定明确可量化的目标,坚持默默的做事。


✨欢迎加入探索MYSQL聚合函数之旅✨
    👋 大家好!文本学习和探索MYSQL聚合函数。👋 效率与精准是制胜的关键。MySQL聚合函数,作为数据库操作中的强大工具,能帮你快速进行数据统计、分析和汇总。本篇文章将带你轻松上手MySQL聚合函数,让复杂的数据处理变得简单高效。准备好提升你的数据库技能了吗?让我们一同揭开MySQL聚合函数的神秘面纱,让你的数据飞起来!

目录

一、AVG 求平均值

二、COUNT 统计数量(非null值)

三、GROUP_CONCAT 分组列连接成字符串

四、MAX 取最大值

五、MIN 取最小值

六、SUM 求和(非null值)

七、BIT_AND 按位与运算(非null值)

八、BIT_OR 按位或运算(非null值)

九、BIT_XOR 按位异或运算(非null值)

十、JSON_ARRAYAGG 聚合为一个 JSON 数组

十一、JSON_OBJECTAGG 聚合为一个 JSON 对象

十二、STD 求总体标准差(非null)

十三、STDDEV 求总体标准差(非null)

十四、STDDEV_POP  求总体标准差(非null)

十五、STDDEV_SAMP 计算样本标准差(非null)

十六、VAR_POP 计算总体方差(非null)

十七、VARIANCE 计算总体方差(非null)

十八、VAR_SAMP 计算样本方差(非null)


一、AVG 求平均值

MySQL AVG() 函数计算并返回表达式的平均值。

忽略 NULL 值。

语法:

AVG(expr)
AVG(DISTINCT expr)SELECT AVG(expr), ...
FROM table_name
[WHERE ...];SELECT AVG(expr), group_expr1, group_expr2, ...
FROM table_name
[WHERE ...]
GROUP BY group_expr1, group_expr2, ...;

参数说明

  • expr:expr 一个用于聚合运算的表达式。它可以是一个列名,也可以是一个表达式

  • group_expr1, group_expr2, ...:用于分组的表达式或者列名。

返回值

  • 表达式的平均值。
  • 返回 NULL情况:没有匹配的行。

示例:

CREATE TABLE `student_score` (`score` INT NOT NULL
);
INSERT INTO `student_score` (`score`)
VALUES (80),(90),(84),(96),(80),( 98),( 75);SELECT AVG(score) from student_score; // 86.1429

 

二、COUNT 统计数量(非null值)

MySQL COUNT() 函数用于统计表达式代表的所有值的中的非 NULL 值的数量。

语法:

COUNT(expr)SELECT COUNT(expr), ...
FROM table_name
[WHERE ...];SELECT COUNT(expr), group_expr1, group_expr2, ...
FROM table_name
[WHERE ...]
GROUP BY group_expr1, group_expr2, ...;

参数说明

  • expr:expr 一个需要统计数量的表达式。它可以是一个列名,也可以是一个表达式。

  • group_expr1, group_expr2, ...:用于分组的表达式或者列名。

返回值

  • 所有行中的表达式代表的所有值的中的非 NULL 值的数量。
  • 注意: 如果使用 COUNT(*) 或者类似于 COUNT(1) 之类的语句,则会统计 NULL 值。

示例:

CREATE TABLE `student_score` (`score` INT
);
INSERT INTO `student_score` (`score`)
VALUES (80),(90),(84),(96),(80),( 98),( 75),( NULL);SELECT COUNT(score),        // 7COUNT(*),            // 8COUNT(1)             // 8from student_score;

 

三、GROUP_CONCAT 分组列连接成字符串

MySQL GROUP_CONCAT() 函数将一个分组中指定的列或表达式的值连接成一个字符串并返回。

语法:

GROUP_CONCAT([DISTINCT] expr [, expr2 ...][ORDER BY ...][SEPARATOR separator]
)SELECT GROUP_CONCAT(expr), ...
FROM table_name
[WHERE ...]
[GROUP BY group_expr1, group_expr2, ...];

参数说明

  • expr [, expr2 ...]:必须的。它指定了要连接的一个或者多个列或表达式。

  • ORDER BY:可选的。它用于对要连接的内容排序。

  • SEPARATOR separator:可选的。separator 连接符。默认是 ,

返回值

  • 将通过列或者表达式指定的内容连接起来。
  • 返回 NULL情况:结果集没有任何行。

示例:

DROP TABLE IF EXISTS `student_score`;
CREATE TABLE `student_score` (`id` INT PRIMARY KEY AUTO_INCREMENT,`name` VARCHAR(255) NOT NULL,`score` INT NOT NULL
);SELECTname AS `Name`,GROUP_CONCAT(subject) AS `Subjects`
FROM student_score
GROUP BY name;+------+--------------+
| Name | Subjects     |
+------+--------------+
| Tim  | English      |
| Tom  | Math,English |
+------+--------------+----------------------------------------------------------SELECTname AS `Name`,GROUP_CONCAT(subject SEPARATOR '/') AS `Subjects`
FROM student_score
GROUP BY name;+------+--------------+
| Name | Subjects     |
+------+--------------+
| Tim  | English      |
| Tom  | Math/English |
+------+--------------+----------------------------------------------------------SELECTname AS `Name`,GROUP_CONCAT(CONCAT(subject, '-'), scoreORDER BY subjectSEPARATOR '/') AS `Scores`
FROM student_score
GROUP BY name;或
SELECTname AS `Name`,GROUP_CONCAT(CONCAT_WS('-', subject, score)ORDER BY subjectSEPARATOR '/') AS `Scores`
FROM student_score
GROUP BY name;+------+--------------------+
| Name | Scores             |
+------+--------------------+
| Tim  | English-98         |
| Tom  | English-90/Math-80 |
+------+--------------------+

 

四、MAX 取最大值

MySQL MAX() 函数返回表达式代表的所有值中的最大值。如果您需要获取一个表达式中的最小值,请使用 MIN() 函数。

语法:

MAX(expr)SELECT MAX(expr), ...
FROM table_name
[WHERE ...];SELECT MAX(expr), group_expr1, group_expr2, ...
FROM table_name
[WHERE ...]
GROUP BY group_expr1, group_expr2, ...;

参数说明

  • expr:expr 一个用于聚合运算的表达式。它可以是一个列名,也可以是一个表达式

  • group_expr1, group_expr2, ...:用于分组的表达式或者列名。

返回值

  • 表达式代表的所有值中的最大值。
  • 返回 NULL情况:没有匹配的行。

示例:

SELECT MAX(score) from student_score;    // 98SELECT name, MAX(score) FROM student_score GROUP BY name;
+------+------------+
| name | MAX(score) |
+------+------------+
| Tom  |         90 |
| Tim  |         98 |
+------+------------+

 

五、MIN 取最小值

MySQL MIN() 函数返回表达式代表的所有值中的最小值。如果您需要获取一个表达式中的最大值,请使用 MAX() 函数。

语法:

MIN(expr)SELECT MIN(expr), ...
FROM table_name
[WHERE ...];SELECT MIN(expr), group_expr1, group_expr2, ...
FROM table_name
[WHERE ...]
GROUP BY group_expr1, group_expr2, ...;

参数说明

  • expr:expr 一个用于聚合运算的表达式。它可以是一个列名,也可以是一个表达式。

  • group_expr1, group_expr2, ...:用于分组的表达式或者列名。

返回值

  • 表达式代表的所有值中的最小值。
  • 返回 NULL情况:没有匹配的行。

示例:

mysql> SELECT MIN(score) from student_score;+------------+
| MIN(score) |
+------------+
|         80 |
+------------+mysql> SELECT subject, MIN(score) FROM student_score GROUP BY subject;
+---------+------------+
| subject | MIN(score) |
+---------+------------+
| Math    |         80 |
| English |         90 |
+---------+------------+

 

六、SUM 求和(非null值)

MySQL SUM() 函数计算所有指定的非 NULL 值的总和并返回。

语法:

SUM(expr)SELECT SUM(expr), ...
FROM table_name
[WHERE ...];SELECT SUM(expr), group_expr1, group_expr2, ...
FROM table_name
[WHERE ...]
GROUP BY group_expr1, group_expr2, ...;

参数说明

  • expr:expr 一个需要统计数量的表达式。它可以是一个列名,也可以是一个表达式。

  • group_expr1, group_expr2, ...:用于分组的表达式或者列名。

返回值

  • 所有指定的非 NULL 值的总和。
  • 返回 NULL情况:没有匹配的行。 

示例:

mysql> SELECT SUM(score) from student_score;
+------------+
| SUM(score) |
+------------+
| 268        |
+------------+mysql> SELECT name, SUM(score)FROM student_score GROUP BY name;
+------+------------+
| name | SUM(score) |
+------+------------+
| Tom  | 170        |
| Tim  | 98         |
+------+------------+

 

七、BIT_AND 按位与运算(非null值)

MySQL BIT_AND() 函数是一个聚合函数,它对所有的非 null 输入值执行"按位与"运算。(只处理那些非 null 的值)
按位与处理两个长度相同的二进制数,两个相应的二进位都为 1,该位的结果值才为 1,否则为 0。

语法:

BIT_AND(expr)SELECT BIT_AND(expr), ...
FROM table_name
[WHERE ...];SELECT BIT_AND(expr), group_expr1, group_expr2, ...
FROM table_name
[WHERE ...]
GROUP BY group_expr1, group_expr2, ...;

参数说明

  • expr:必需的。一个列名或者表达式。它接受一个数值或者二进制值。

返回值

  • 返回值的类型与输入参数的类型相同,它返回 对所有的非 null 输入值执行"按位与"运算的结果。
  • 返回 NULL情况:所有的输入的值为 null。

示例:

mysql> SELECT BIT_AND(x) FROM (SELECT 4 x UNION SELECT 5 x UNION SELECT 6 x ) t;
+------------+
| BIT_AND(x) |
+------------+
|          4 |
+------------+

 “按位与” 运算,运算步骤如下:

4 -> 100
5 -> 101
6 -> 110
BIT_AND() = 100 = 4

 

八、BIT_OR 按位或运算(非null值)

MySQL BIT_OR() 函数是一个聚合函数,它对所有的非 null 输入值执行"按位或"运算。(只处理那些非 null 的值)
按位或处理两个长度相同的二进制数,两个相应的二进位都为 0,该位的结果值为 0,否则为 1。

语法:

BIT_OR(expr)SELECT BIT_OR(expr), ...
FROM table_name
[WHERE ...];SELECT BIT_OR(expr), group_expr1, group_expr2, ...
FROM table_name
[WHERE ...]
GROUP BY group_expr1, group_expr2, ...;

参数说明

  • expr:必需的。一个列名或者表达式。它接受一个整数或者 bit 类型的值。

返回值

  • 返回值的类型与输入参数的类型相同,它返回 对所有的非 null 输入值执行"按位或"运算的结果。
  • 返回 NULL情况:所有的输入的值为 null。

示例:

mysql> SELECT BIT_OR(x) FROM (SELECT 4 x UNION SELECT 5 x UNION SELECT 6 x ) t;
+-----------+
| BIT_OR(x) |
+-----------+
|         7 |
+-----------+

“按位与” 运算,运算步骤如下:

4 -> 100
5 -> 101
6 -> 110
BIT_OR() = 111 = 7

 

九、BIT_XOR 按位异或运算(非null值)

MySQL BIT_XOR() 函数是一个聚合函数,它对所有的非 null 输入值执行"按位异或"运算。(只处理那些非 null 的值)
按位异或处理两个长度相同的二进制数,两个相应的二进位只要不同,该位的结果值为 1,否则为 0。

语法:

BIT_XOR(expr)SELECT BIT_XOR(expr), ...
FROM table_name
[WHERE ...];SELECT BIT_XOR(expr), group_expr1, group_expr2, ...
FROM table_name
[WHERE ...]
GROUP BY group_expr1, group_expr2, ...;

参数说明

  • expr:必需的。一个列名或者表达式。它接受一个整数或者 bit 类型的值。

返回值

  • 返回值的类型与输入参数的类型相同,它返回 对所有的非 null 输入值执行"按位异或"运算的结果。
  • 返回 NULL情况:所有的输入的值为 null。

示例:

mysql> SELECT BIT_XOR(x) FROM ( SELECT 4 x UNION SELECT 5 x UNION SELECT 6 x ) t;
+------------+
| BIT_XOR(x) |
+------------+
|          7 |
+------------+

“按位异或” 运算,运算步骤如下:

4 -> 100
5 -> 101
6 -> 110
BIT_XOR() = 111 = 7

 

十、JSON_ARRAYAGG 聚合为一个 JSON 数组

MySQL JSON_ARRAYAGG() 函数将指定的列或者表达式的值聚合为一个 JSON 数组。

语法:

JSON_ARRAYAGG(expr)SELECT JSON_ARRAYAGG(expr), ...
FROM table_name
[WHERE ...]
[GROUP BY group_expr1, group_expr2, ...];

参数说明

  • expr:必须的。它可以是一个列名,也可以是一个表达式。

返回值

  • 聚合了所有符合条件的值。
  • 返回 NULL情况:结果集没有任何行。

示例:

mysql> select * from student_score;
+----+------+---------+-------+
| id | name | subject | score |
+----+------+---------+-------+
|  1 | Tom  | Math    |    80 |
|  2 | Tom  | English |    90 |
|  3 | Tim  | English |    98 |
+----+------+---------+-------+
3 rows in set (0.00 sec)mysql> SELECT name AS `Name`, JSON_ARRAYAGG(subject) AS `Subjects` FROM student_score GROUP BY name;
+------+---------------------+
| Name | Subjects            |
+------+---------------------+
| Tim  | ["English"]         |
| Tom  | ["Math", "English"] |
+------+---------------------+

 

十一、JSON_OBJECTAGG 聚合为一个 JSON 对象

MySQL JSON_OBJECTAGG() 函数将由第一个参数作为键和第二个参数作为值的键值对聚合为一个 JSON 对象。

语法:

JSON_OBJECTAGG(key_expr, value_expr)SELECT JSON_OBJECTAGG(key_expr, value_expr), ...
FROM table_name
[WHERE ...]
[GROUP BY group_expr1, group_expr2, ...];

参数说明

  • key_expr:必须的。它的值作为结果对象中的键值对中的键。它可以是一个列名,也可以是一个表达式。

  • value_expr:可选的。它的值作为结果对象中的键值对中的值。它可以是一个列名,也可以是一个表达式。

返回值

  • 一个 JSON 对象,其中的键值对中的键是 key_expr 的值,值是 value_expr 的值。
  • 返回 NULL情况:结果集没有任何行。
  • 注意:如果存在重复的键,则只保留最后一个键作为键值对,其他重复的键值对都被丢弃。

示例:

mysql> select * from student_score;
+----+------+---------+-------+
| id | name | subject | score |
+----+------+---------+-------+
|  1 | Tom  | Math    |    80 |
|  2 | Tom  | English |    90 |
|  3 | Tim  | English |    98 |
+----+------+---------+-------+
3 rows in set (0.00 sec)mysql> SELECT name AS `Name`, JSON_OBJECTAGG(subject, score) AS `Scores`FROM student_score GROUP BY name;
+------+-----------------------------+
| Name | Scores                      |
+------+-----------------------------+
| Tim  | {"English": 98}             |
| Tom  | {"Math": 80, "English": 90} |
+------+-----------------------------+

 

十二、STD 求总体标准差(非null)

MySQL STD() 函数计算所有非 null 输入值的总体标准差并返回结果。 它是 STDDEV_POP() 的别名。

只处理那些非 null 的值,忽略null值。

语法:

STD(expr)

参数说明

  • expr:必需的。一个列名或者表达式。它接受一个数值或者二进制值。

返回值

  • 总体标准差。
  • 返回 NULL情况:所有的输入的值为 null。

示例:

mysql> SELECT STD(x) FROM ( SELECT 4 x UNION SELECT 5 x UNION SELECT 6 x) t;
+-------------------+
| STD(x)            |
+-------------------+
| 0.816496580927726 |
+-------------------+

 

十三、STDDEV 求总体标准差(非null)

MySQL STDDEV() 函数计算所有非 null 输入值的总体标准差并返回结果。 它是 STDDEV_POP() 的别名。

只处理那些非 null 的值,null 值会被忽略。

语法:

STDDEV(expr)SELECT AVG(expr), ...
FROM table_name
[WHERE ...];SELECT AVG(expr), group_expr1, group_expr2, ...
FROM table_name
[WHERE ...]
GROUP BY group_expr1, group_expr2, ...;

参数说明

  • expr:必需的。一个列名或者表达式。它接受一个数值或者二进制值。

返回值

  • 所有非 null 输入值的总体标准差。
  • 返回 NULL情况:所有的输入的值为 null。

示例:

mysql> SELECT STDDEV(x) FROM ( SELECT 4 x UNION SELECT 5 x UNION SELECT 6 x) t;
+-------------------+
| STDDEV(x)         |
+-------------------+
| 0.816496580927726 |
+-------------------+

 

十四、STDDEV_POP  求总体标准差(非null)

MySQL STDDEV_POP() 函数计算所有非 null 输入值的总体标准差并返回结果。

只处理那些非 null 的值,null 值会被函数忽略。

语法:

STDDEV_POP(expr)SELECT STDDEV_POP(expr), ...
FROM table_name
[WHERE ...];SELECT STDDEV_POP(expr), group_expr1, group_expr2, ...
FROM table_name
[WHERE ...]
GROUP BY group_expr1, group_expr2, ...;

参数说明

  • expr:必需的。一个列名或者表达式。它接受一个数值或者二进制值。

返回值

  • 所有非 null 输入值的总体标准差。
  • 返回 NULL情况:所有的输入的值为 null。

示例:

mysql> SELECT STDDEV_POP(x) FROM ( SELECT 4 x UNION SELECT 5 x UNION SELECT 6 x) t;
+-------------------+
| STDDEV_POP(x)     |
+-------------------+
| 0.816496580927726 |
+-------------------+

 

十五、STDDEV_SAMP 计算样本标准差(非null)

MySQL STDDEV_SAMP() 函数计算所有非 null 输入值的样本标准差并返回结果。

只处理那些非 null 的值,null 值会被函数忽略。

语法:

STDDEV_SAMP(expr)SELECT STDDEV_SAMP(expr), ...
FROM table_name
[WHERE ...];SELECT STDDEV_SAMP(expr), group_expr1, group_expr2, ...
FROM table_name
[WHERE ...]
GROUP BY group_expr1, group_expr2, ...;

参数说明

  • expr:必需的。一个列名或者表达式。它接受一个数值或者二进制值。

返回值

  • 所有非 null 输入值的样本标准差。
  • 返回 NULL情况:所有的输入的值为 null。

示例:

mysql> SELECT STDDEV_SAMP(x) FROM ( SELECT 4 x UNION SELECT 5 x UNION SELECT 6 x) t;
+----------------+
| STDDEV_SAMP(x) |
+----------------+
|              1 |
+----------------+

 

十六、VAR_POP 计算总体方差(非null)

MySQL VAR_POP() 函数计算所有非 null 输入值的总体方差(总体标准差的平方)并返回结果。

只处理那些非 null 的值,null 值会被函数忽略。

语法:

VAR_POP(expr)SELECT VAR_POP(expr), ...
FROM table_name
[WHERE ...];SELECT VAR_POP(expr), group_expr1, group_expr2, ...
FROM table_name
[WHERE ...]
GROUP BY group_expr1, group_expr2, ...;

参数说明

  • expr:必需的。一个列名或者表达式。它接受一个数值或者二进制值。

返回值

  • 所有非 null 输入值的总体方差(总体标准差的平方)。
  • 返回 NULL情况:所有的输入的值为 null。

示例:

SELECT VAR_POP(x)
FROM (SELECT 11 xUNIONSELECT 12 xUNIONSELECT 13 x) t;-- 输出
+--------------------+
| VAR_POP(x)         |
+--------------------+
| 0.6666666666666666 |
+--------------------+

 

十七、VARIANCE 计算总体方差(非null)

MySQL VAR_SAMP() 函数计算所有非 null 输入值的样本方差(样本标准差的平方)并返回结果。

只处理那些非 null 的值,null 值会被函数忽略。

语法:

VAR_SAMP(expr)SELECT VAR_SAMP(expr), ...
FROM table_name
[WHERE ...];SELECT VAR_SAMP(expr), group_expr1, group_expr2, ...
FROM table_name
[WHERE ...]
GROUP BY group_expr1, group_expr2, ...;

参数说明

  • expr:必需的。一个列名或者表达式。它接受一个数值或者二进制值。

返回值

  • 所有非 null 输入值的样本方差(样本标准差的平方)。
  • 返回 NULL情况:所有的输入的值为 null。

示例:

mysql> SELECT VAR_SAMP(x) FROM ( SELECT 4 x UNION SELECT 5 x UNION SELECT 6 x) t;
+-------------+
| VAR_SAMP(x) |
+-------------+
|           1 |
+-------------+

 

十八、VAR_SAMP 计算样本方差(非null)

MySQL VARIANCE() 函数计算所有非 null 输入值的总体方差(总体标准差的平方)并返回结果。 它是 VAR_POP() 的别名。

只处理那些非 null 的值,null 值会被函数忽略。

语法:

VARIANCE(expr)SELECT VARIANCE(expr), ...
FROM table_name
[WHERE ...];SELECT VARIANCE(expr), group_expr1, group_expr2, ...
FROM table_name
[WHERE ...]
GROUP BY group_expr1, group_expr2, ...;

参数说明

  • expr:必需的。一个列名或者表达式。它接受一个数值或者二进制值。

返回值

  • 返回所有非 null 输入值的总体方差(总体标准差的平方)。

  • 返回 NULL情况:所有的输入的值为 null。

示例:

mysql> SELECT VARIANCE(x) FROM ( SELECT 4 x UNION SELECT 5 x UNION SELECT 6 x) t;
+--------------------+
| VARIANCE(x)        |
+--------------------+
| 0.6666666666666666 |
+--------------------+

    好了,今天分享到这里。希望你喜欢这次的探索之旅!不要忘记 "点赞" 和 "关注" 哦,我们下次见!🎈

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/376711.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微服务-注册中心

一. 分布式系统架构与微服务 分布式系统架构和微服务是现代软件开发中常见的两种概念,它们通常结合使用来构建灵活、可扩展和高效的应用程序。 分布式系统架构: 分布式系统架构是指将一个单一的应用程序或服务拆分成多个独立的部分,这些部分…

第一部分:C++入门

目录 前言 1、C关键字(C98) 2、命名空间 2.1、命名空间定义 2.2、命名空间的使用 3、C输入&输出 4、缺省参数 4.1、缺省参数的概念 4.2、缺省参数的分类 5、函数重载 5.1、函数重载的概念 5.2、C支持函数重载的原理 6、引用 6.1、引用的概念 6.2、引用特性 …

ensp实现ICMP重定向实验

1 概述 ICMP重定向报文是ICMP控制报文中的一种。在特定的情况下,当路由器检测到一台机器使用非优化路由的时候,它会向该主机发送一个ICMP重定向报文,请求主机改变路由。路由器也会把初始数据包向它的目的地转发。 2 实验复现 拓扑如下 PC1配…

RedHat Linux8 修改root管理员账户密码命令

RedHat Linux8 修改root管理员账户密码命令: sudo passwd root RedHat重置root管理员密码: 1. 查看Linux系统版本信息 cat /etc/redhat-release2. 重置密码 2.1 进入内核编辑界面 重启Linux系统并出现引导界面,按下键盘上的e键进入内…

ftp服务

文章目录 一、概述1.1 标准模式1.2 被动模式 二、FTP作用与工作原理2.1 FTP的作用和模式以及通信方式2.2 FTP工作原理与流程2.2.1 主动模式的工作原理2.2.2 被动模式的工作原理2.2.3 主动和被动模式的区别 三、搭建和配置FTP服务3.1 安装前准备工作3.1.1 关闭防火墙和增强型安全…

交易平台Zero Hash现已支持SUI交易

Zero Hash是一家领先的加密货币和稳定币基础设施平台,为包括Stripe、Shift4和Franklin Templeton在内的公司提供支持,现在也支持对SUI的访问。此举使Zero Hash的客户及其终端用户能够使用SUI。 提供API和SDK以及专注于无缝连接法币、加密货币和稳定币的…

Linux rsync文件同步工具

scp的不足 1. 性能问题 单线程传输 SCP只使用单线程进行传输,这意味着在传输大文件或大量小文件时,其传输速度和效率可能不如其他多线程工具。 无法压缩数据传输 SCP不支持内置的压缩机制,这在传输大文件时会导致带宽使用效率较低。 2.…

【Python 项目】类鸟群:仿真鸟群

类鸟群:仿真鸟群 仔细观察一群鸟或一群鱼,你会发现,虽然群体由个体生物组成,但该群体作为一个整体似乎有它自己的生命。鸟群中的鸟在移动、飞越和绕过障碍物时,彼此之间相互定位。受到打扰或惊吓时会破坏编队&#xf…

香橙派AIpro:体验强劲算力,运行ROS系统

文章目录 前言一、香橙派AIpro开箱及功能介绍1.1香橙派AIpro开箱1.2香橙派AIpro功能介绍 二、香橙派AIpro资料下载及环境搭建2.1资料下载2.2环境搭建2.3使用串口启动进入开发板2.4使用HDMI线接入屏幕启动 三、部署ROS系统四、香橙派AIpro的使用和体验感受 前言 本篇文章将带体…

查找PPT中某种字体的全部对应文字

本文章的目的是找到某种字体的文字,而不是替换某种字体的文字,也不是将某种字体全部替换为另外一种文字。 第一步:在PPT中按下ALTF11 出现以下窗口 第二步:点击插入->模块 第三步:将以下代码输入到窗体中 Sub F…

[leetcode]partition-list 分隔链表

. - 力扣(LeetCode) class Solution { public:ListNode* partition(ListNode* head, int x) {ListNode *smlDummy new ListNode(0), *bigDummy new ListNode(0);ListNode *sml smlDummy, *big bigDummy;while (head ! nullptr) {if (head->val &l…

钉钉扫码登录第三方

钉钉文档 实现登录第三方网站 - 钉钉开放平台 (dingtalk.com) html页面 将html放在 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>登录</title>// jquery<script src"http://code.jqu…

redis redisson(仅供自己参考)

redis 通过setnx实现的分布式锁有问题 如图&#xff1a; 解决的新的工具为&#xff08;闪亮登场&#xff09;&#xff1a;redisson redisson可重入锁的原理 实现语言lua&#xff1a; 加锁实现脚本语言&#xff1a; 释放锁的脚本语言&#xff1a; 加锁的lua -- 首先判断这个锁…

[GWCTF 2019]我有一个数据库

我起初以为是sql注入 抓包什么都没有 扫描一下吧 全是文件包&#xff0c;找找有没有有用的 没啥用&#xff0c;但是我们还扫到了一个东西 访问phpmuyadmin/index.php发现什么用 然后我把index.php搞掉了发现version CVE-2018-12613 那么我们看看哦 ?targetdb_sql.php%…

hutool处理excel时候空指针小记

如图所示&#xff0c;右侧的会识别不到 参考解决方案&#xff1a; /***Description: 填补空缺位置为null/空串*Param: hutool读取的list*return: 无*Author: y*date: 2024/7/13*/public static void formatHutoolExcelArr(List<List<Object>> list) {if (CollUtil…

SCI一区级 | Matlab实现GJO-CNN-LSTM-Multihead-Attention多变量时间序列预测

SCI一区级 | Matlab实现GJO-CNN-LSTM-Mutilhead-Attention多变量时间序列预测 目录 SCI一区级 | Matlab实现GJO-CNN-LSTM-Mutilhead-Attention多变量时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现GJO-CNN-LSTM-Mutilhead-Attention金豺优化算…

【C语言】指针(3):探索-不同类型指针变量

目录 一、字符指针变量 二、数组指针变量 三、二维数组传参的本质 四、函数指针变量 4.1 函数指针变量 4.2 函数指针变量的使用 4.3 函数指针变量的拓展 五、函数指针数组 六、转移表的应用 通过深入理解指针&#xff08;1&#xff09;和深入理解指针&#xff08;2&am…

【Redis】简单了解Redis中常用的命令与数据结构

希望文章能给到你启发和灵感&#xff5e; 如果觉得文章对你有帮助的话&#xff0c;点赞 关注 收藏 支持一下博主吧&#xff5e; 阅读指南 开篇说明一、基础环境说明1.1 硬件环境1.2 软件环境 二、Redis的特点和适用场景三、Redis的数据类型和使用3.1字符串&#xff08;String&…

【HTML入门】第十二课 - iframe框架

在早期没有出现Vue和React之前呢&#xff0c;做管理系统&#xff0c;iframe是非常普遍的技术。比如管理系统左侧有非常多的菜单&#xff0c;然后点击菜单后&#xff0c;右边就要展现不同的页面。 又或者呢&#xff0c;我们看一些网站&#xff0c;他们侧边展示着五彩绚烂的广告&…

docker安装mysql, 虚拟机连接mysql

docker已安装&#xff1a;安装教程docker和docker的安装-CSDN博客docker是容器技术&#xff08;软件&#xff09;&#xff0c;提供标准的应用镜像&#xff08;包含应用&#xff0c;和应用的依赖&#xff09;可以轻松在docker里安装应用&#xff0c;每个应用独立容器。https://b…