当前位置: 首页 > news >正文

MySQL聚合查询分组查询联合查询

#对应代码练习

-- 创建考试成绩表
DROP TABLE IF EXISTS exam;
CREATE TABLE exam (
    id bigint,
    name VARCHAR(20),
    chinese DECIMAL(3,1),
    math DECIMAL(3,1),
    english DECIMAL(3,1)
);
-- 插入测试数据
INSERT INTO exam (id,name, chinese, math, english) VALUES
(1,'唐三藏', 67, 98, 56),
(2,'孙悟空', 87.5, 78, 77),
(3,'猪悟能', 88, 98, 90),
(4,'曹孟德', 82, 84, 67),
(5,'刘玄德', 55.5, 85, 45),
(6,'孙权', 70, 73, 78.5),
(7,'宋公明', 75, 65, 30);

1.聚合函数

函数说明
count()返回查到数据的数量
sum()返回查到数据的总和
avg()返回查到数据的平均值
max()返回查到数据的最大值
min()返回查到数据的最小值

注释:不是数字没有意义,聚合函数只能对数字型进行运算

1.1count函数:统计所有的行

select count(*) from  表名;

select count(1) from 表名;

select count(指定列) from 表名;

注释:在日常工作中,推荐大家使用count(*),这种写法是sql中规定

NULL 值不参与统计

1.2sum函数:求和

把查询结果中所有行中的指定列进行相加

注意:列的数据必须是数值型,不能是字符型,日期型等等,如果对非数值型计算,会报警告!

select sum(指定列) from 表名;

示例:所有学生语文成绩的总和 

NULL值不参与运算

1.3avg函数:求平均值

select avg(指定列/表达式) as 别名 from 表名;

示例:所有学生语文成绩的总和 的平均值

示例:所有语文,英语,数学三门成绩总和的平均分

1.4max函数,min函数:求最大值,最小值

select max(指定列) as 别名,min(指定列) as 别名 from 表名;

示例:语文最高分,英语最低分

 

 注释:同一列可以用不同的聚合函数

2.分组查询:group by子句

select 中使用group by子句可以对指定列进行分组查询。需要满足:使用group by子句进行分组长训时,select 指定的字段必须是“分组依据字段(需要分组的列)”,其他列想出现,必须包含在聚合函数中

#相关代码练习

create table emp (
    id bigint primary key auto_increment,
    name varchar(20) not null,
    role varchar(20) not null,
    salary decimal(10, 2) not null
);

insert into emp values (null, '马云', '老板', 1500000.00);
insert into emp values (null, '马化腾', '老板', 1800000.00);
insert into emp values (null, 'a哥', '讲师', 10000.00);
insert into emp values (null, 'b哥', '讲师', 12000.00);
insert into emp values (null, 'c姐', '学管', 9000.00);
insert into emp values (null, 'd姐', '学管', 8000.00);
insert into emp values (null, '猪悟能', '游戏角色', 700.5);
insert into emp values (null, '沙和尚', '游戏角色', 333.3);
 

语法:select 分组的列名,聚合函数(指定列),... from 表名 group by 分组的列;

示例:计算不同角色工资的平均值

 

注意:round(数值,小数点位数)

示例:round(avg(salary),2)

注意:group by之后可以跟order by子句

3.having 关键字

 group by子句进行分组以后,需要对分组结果再进行条件过滤时,不能使用where语句,而是用having语句

where是对表每一行的真实数据进行过滤,where在from之后

having是对分组后,计算出来的结果进行过滤的,having在group by之后

示例:每种角色的平均工资大于1万小于10万

 

 4.联合查询(MySQL中重点内容)

#相关代码练习

CREATE TABLE `class`  (
  `class_id` bigint NOT NULL AUTO_INCREMENT,
  `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  PRIMARY KEY (`class_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of class
-- ----------------------------
INSERT INTO `class` VALUES (1, '计算机系2019级1班');
INSERT INTO `class` VALUES (2, '中文系2019级3班');
INSERT INTO `class` VALUES (3, '自动化2019级5班');

-- ----------------------------
-- Table structure for course
-- ----------------------------

CREATE TABLE `course`  (
  `course_id` bigint NOT NULL AUTO_INCREMENT,
  `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  PRIMARY KEY (`course_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of course
-- ----------------------------
INSERT INTO `course` VALUES (1, 'Java');
INSERT INTO `course` VALUES (2, '中国传统文化');
INSERT INTO `course` VALUES (3, '计算机原理');
INSERT INTO `course` VALUES (4, '语文');
INSERT INTO `course` VALUES (5, '高阶数学');
INSERT INTO `course` VALUES (6, '英文');

-- ----------------------------
-- Table structure for student
-- ----------------------------

CREATE TABLE `student`  (
  `student_id` bigint NOT NULL AUTO_INCREMENT,
  `sn` varchar(6) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
  `mail` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
  `class_id` bigint NULL DEFAULT NULL,
  PRIMARY KEY (`student_id`) USING BTREE,
  UNIQUE INDEX `sn`(`sn` ASC) USING BTREE,
  INDEX `class_id`(`class_id` ASC) USING BTREE,
  CONSTRAINT `student_ibfk_1` FOREIGN KEY (`class_id`) REFERENCES `class` (`class_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 9 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of student
-- ----------------------------
INSERT INTO `student` VALUES (1, '09982', '黑旋风李逵', 'xuanfeng@qq.com', 1);
INSERT INTO `student` VALUES (2, '00835', '菩提老祖', NULL, 1);
INSERT INTO `student` VALUES (3, '00391', '白素贞', NULL, 1);
INSERT INTO `student` VALUES (4, '00031', '许仙', 'xuxian@qq.com', 1);
INSERT INTO `student` VALUES (5, '00054', '不想毕业', NULL, 1);
INSERT INTO `student` VALUES (6, '51234', '好好说话', 'say@qq.com', 2);
INSERT INTO `student` VALUES (7, '83223', 'tellme', NULL, 2);
INSERT INTO `student` VALUES (8, '09527', '老外学中文', 'foreigner@qq.com', 2);

-- ----------------------------
-- Table structure for score
-- ----------------------------

CREATE TABLE `score`  (
  `score_id` bigint NOT NULL AUTO_INCREMENT,
  `student_id` bigint NULL DEFAULT NULL,
  `course_id` bigint NULL DEFAULT NULL,
  `score` decimal(5, 2) NULL DEFAULT NULL,
  PRIMARY KEY (`score_id`) USING BTREE,
  INDEX `student_id`(`student_id` ASC) USING BTREE,
  INDEX `course_id`(`course_id` ASC) USING BTREE,
  CONSTRAINT `score_ibfk_1` FOREIGN KEY (`student_id`) REFERENCES `student` (`student_id`) ON DELETE RESTRICT ON UPDATE RESTRICT,
  CONSTRAINT `score_ibfk_2` FOREIGN KEY (`course_id`) REFERENCES `course` (`course_id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 21 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of score
-- ----------------------------
INSERT INTO `score` VALUES (1, 1, 1, 70.50);
INSERT INTO `score` VALUES (2, 1, 3, 98.50);
INSERT INTO `score` VALUES (3, 1, 5, 33.00);
INSERT INTO `score` VALUES (4, 1, 6, 98.00);
INSERT INTO `score` VALUES (5, 2, 1, 60.00);
INSERT INTO `score` VALUES (6, 2, 5, 59.50);
INSERT INTO `score` VALUES (7, 3, 1, 33.00);
INSERT INTO `score` VALUES (8, 3, 3, 68.00);
INSERT INTO `score` VALUES (9, 3, 5, 99.00);
INSERT INTO `score` VALUES (10, 4, 1, 67.00);
INSERT INTO `score` VALUES (11, 4, 3, 23.00);
INSERT INTO `score` VALUES (12, 4, 5, 56.00);
INSERT INTO `score` VALUES (13, 4, 6, 72.00);
INSERT INTO `score` VALUES (14, 5, 1, 81.00);
INSERT INTO `score` VALUES (15, 5, 5, 37.00);
INSERT INTO `score` VALUES (16, 6, 2, 56.00);
INSERT INTO `score` VALUES (17, 6, 4, 43.00);
INSERT INTO `score` VALUES (18, 6, 6, 79.00);
INSERT INTO `score` VALUES (19, 7, 2, 80.00);
INSERT INTO `score` VALUES (20, 7, 6, 92.00);

 4.1内连接

语法:

#标准写法
select 列名 from 表名1 别名1 [inner] join 表2 别名2 on 连接条件 and 其他条件;

#个人习惯写法

select 列名 from 表1 别名1,表2 别名2 where 连接条件 and 其他条件

注释:习惯哪种用哪种!

 示例:查询“许仙”同学的成绩(分步骤做这道题)

1.首先确定哪几张表参与查询:成绩表和学生表;

select *from student,score;

2.根据表与表之间的主外键关系,确定过滤条件

student_id作为主外键关联字段

select *from student,score where student.student_id=score.student_id;

3.确定过滤条件

在where中添加student.name='许仙'的过滤条件

select *from student,score where student.student_id=score.student_id and student.`name`='许仙';

4.精简信息

只需要姓名和分数

select student.`name`,score.score from student,score where student.student_id=score.student_id and student.`name`='许仙';

注释:联合查询详细步骤

1.确定查询中涉及到有那些表。2.对目标表取笛卡尔积。3.确定连接条件。4.确定对整个结果集的过滤条件。5.精减查询字段

示例:查询所有同学的总成绩和个人信息

select st.student_id,st.`name`,sum(sc.score) as 总分 from student st,score sc where st.student_id=sc.student_id group by sc.student_id;

 4.2外连接

外连接分为左外连接和右外连接。如果联合查询,左侧的表完全显示就是左外连接,右侧的表全部显示就是右外连接

语法:
select*from 表1 left(right) join 表2 on 连接条件;

示例:查询没有考试的同学

select*from student st left join score sc on st.student_id=sc.student_id where sc.score_id is NULL;

 

4.3自链接

实现行与行之间的比较功能

注意:自连接时,因为同一张表需要用到两次,所以得起不一样的别名,否则会报错

示例:显示所有计算机原理成绩比Java成绩高的信息(分步骤演示)

1.确定涉及的表:课程表和成绩表

2.取笛卡尔积:select*from score sc1,score sc2;

3.连接条件就是student_id相同
select*from score sc1,score sc2 where sc1.student_id=sc2.student_id;

 4.观察结果集,确定过滤条件

1 是Java ,3是计算机原理

要么sc1.course_id=1 and sc2.course_id=3

要么sc1.course_id=3 and sc2.course_id=1

5.加入条件

select*from score sc1,score sc2 where sc1.student_id=sc2.student_id and sc1.course_id=3 and sc2.course_id=1 and sc1.score>sc2.score ;

5.子查询(嵌套查询)

 5.1单行子查询

示例:查询与“不想毕业”的同班同学

select *from student where class_id=(select class_id FROM student where `name`='不想毕业');

5.2多行子查询

示例:查询语文和英文成绩信息 (使用到in关键词)

 select *from score where course_id in (select course_id from course where `name`='语文' or `name`='英文');

6.exists关键字

语法:select*from 表名 where exists (查询语句);

exists 后面括号中的查询语句,如果有结果正常返回,则执行外层语句;如果返回空,则不执行

相当于if语句的判断条件,有结果返回true,没结果返回false

1.正常返回,因为学号有1的同学

2.返回为空,因为学号没有100的同学 

7.合并查询

关键词 union ,union all

语法:select *from 表名1 union/ union all select *from 表名2;

union 会去重,union all不会去重

在单表查询推荐使用 or,多表查询不能用or ,就必须用union来连接 

相关文章:

MySQL聚合查询分组查询联合查询

#对应代码练习 -- 创建考试成绩表 DROP TABLE IF EXISTS exam; CREATE TABLE exam ( id bigint, name VARCHAR(20), chinese DECIMAL(3,1), math DECIMAL(3,1), english DECIMAL(3,1) ); -- 插入测试数据 INSERT INTO exam (id,name, chinese, math, engli…...

ffmpeg 预设的值 加速

centos 安装ffmpeg 编译安装 官网获取最新的linux ffmpeg 代码 https://ffmpeg.org//releases/ mkdir -p /data/app/ffmpeg cd /data/app/ffmpeg wget http://www.ffmpeg.org/releases/ffmpeg-7.1.tar.gz tar -zxvf ffmpeg-7.1.tar.gz#安装所需的编译环境 yum install -y \…...

Spring Boot 与 Spring Cloud Alibaba 版本兼容对照

版本选择要点 Spring Boot 3.x 与 Spring Cloud Alibaba 2022.0.x Spring Boot 3.x 基于 Jakarta EE,javax.* 更换为 jakarta.*。 需要使用 Spring Cloud 2022.0.x 和 Spring Cloud Alibaba 2022.0.x。 Alibaba 2022.0.x 对 Spring Boot 3.x 的支持在其发行说明中…...

解决爬虫ConnectionResetError出现的问题

提问 使用python进行网络爬虫出现ConnectionResetError如何解决? 解答 遇到ConnectionResetError错误时,通常是因为远程服务器端主动重置了连接。常见原因包括请求频率过高、网络问题或触发了防爬虫机制。为解决该问题,可以采取以下方法&a…...

Rust学习笔记_03——元组

Rust学习笔记_01——基础 Rust学习笔记_02——数组 Rust学习笔记_03——元组 文章目录 Rust学习笔记_03——元组元组1. 定义元祖2. 访问元组中的元素3. 元组的解构4. 元组不可遍历和切片5. 元组作为函数返回值6. 单元元组7. 代码演示 元组 在Rust编程语言中,元组&a…...

win10安装MySQL8.0.40,含踩坑记录

这里写自定义目录标题 win10安装MySQL8下载安装包配置环境变量初始化MySQL创建data文件夹初始化配置文件安装MySQL服务初始化创建root用户启动服务设置root用户密码登录验证 踩坑:MySQL 服务正在启动 ...MySQL 服务无法启动。服务没有报告任何错误。请键入 NET HELP…...

python+django自动化平台(一键执行sql) 前端vue-element展示

一、开发环境搭建和配置 pip install mysql-connector-pythonpip install PyMySQL二、django模块目录 dbOperations ├── __init__.py ├── __pycache__ │ ├── __init__.cpython-313.pyc │ ├── admin.cpython-313.pyc │ ├── apps.cpython-313.pyc │ …...

【计算机网络】核心部分复习

目录 交换机 v.s. 路由器OSI七层更实用的TCP/IP四层TCPUDP 交换机 v.s. 路由器 交换机-MAC地址 链接设备和设备 路由器- IP地址 链接局域网和局域网 OSI七层 物理层:传输设备。原始电信号比特流。数据链路层:代表是交换机。物理地址寻址,交…...

urllib3只支持OpenSSL1.1.1

1 现象 urllib3 v2.0 only supports OpenSSL 1.1.1, currently the ssl module is compiled with OpenSSL 1.1.0j 20 Nov 2018.2 解决方法 降低urllib3的版本。 从pycharm中,先卸载原有的urllib3版本。 菜单“File|Settings|Project:python|Project Interprete…...

简单web项目自定义部署Dockerfile

本意就是弄清楚如何做web自定义项目的镜像。 基础镜像是java:8u261-jdk,其中java路径为/opt/java webdemo1.0.0.1-SNAPSHOT.jar文件里面已经包含了lib文件。 可以设置PATH也可以不设置,但是建议设置JAVA_HOME FROM swr.cn-north-4.myhuaweicloud.com…...

apache实现绑定多个虚拟主机访问服务

1个网卡绑定多个ip的命令 ip address add 192.168.45.140/24 dev ens33 ip address add 192.168.45.141/24 dev ens33 在linux服务器上,添加多个站点资料,递归创建三个文件目录 分别在三个文件夹下,建立测试页面 修改apache的配置文件http.…...

svn 崩溃、 cleanup失败 怎么办

在使用svn的过程中,可能出现整个svn崩溃, 例如cleanup 失败的情况,类似于 这时可以下载本贴资源文件并解压。 或者直接访问网站 SQLite Download Page 进行下载 解压后得到 sqlite3.exe 放到发生问题的svn根目录的.svn路径下 右键呼出pow…...

深度学习—BP算法梯度下降及优化方法Day37

梯度下降 1.公式 w i j n e w w i j o l d − α ∂ E ∂ w i j w_{ij}^{new} w_{ij}^{old} - \alpha \frac{\partial E}{\partial w_{ij}} wijnew​wijold​−α∂wij​∂E​ α为学习率 当α过小时,训练时间过久增加算力成本,α过大则容易造成越过最…...

python常见问题-pycharm无法导入三方库

1.运行环境 python版本:Python 3.9.6 需导入的greenlet版本:greenlet 3.1.1 2.当前的问题 由于需要使用到greenlet三方库,所以进行了导入,以下是我个人导入时的全过程 ①首先尝试了第1种导入方式:使用pycharm进行…...

虚幻引擎---目录结构篇

一、引擎目录 成功安装引擎后,在安装路径下的Epic Games目录中可以找到与引擎版本对应的文件夹,其中的内容如下: Engine:包含构成引擎的所有源代码、内容等。 Binaries:包含可执行文件或编译期间创建的其他文件。Bui…...

OpenCV相机标定与3D重建(6)将3D物体点投影到2D图像平面上函数projectPoints()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 cv::fisheye::projectPoints 是 OpenCV 库中用于鱼眼镜头模型的函数,它将3D物体点投影到2D图像平面上。这个函数对于模拟或者理解鱼眼…...

QINQ技术

定义 QINQ即802.1q in 802.1q,因为IEEE802.1Q中定义的Vlan Tag域只有12个比特,仅能表示4096个Vlan,随网络发展被用尽,于是在原有带vlan的数据上再携带一层vlan标签用于扩展vlan数目。一般来说外层vlan是公网,内层是私…...

COMSOL工作站:配置指南与性能优化

COMSOL Multiphysics 求解的问题类型相当广泛,提供了仿真单一物理场以及灵活耦合多个物理场的功能,供工程师和科研人员来精确分析各个工程领域的设备、工艺和流程。 软件内置的#模型开发器#包含完整的建模工作流程,可实现从几何建模、材料参数…...

一键生成唯美动漫图:ComfyUI-tPonynai详细搭建教程

tPonynai 是在 C 站上开源的动漫风格扩散模型,与其他基础大模型一样,只需要输入适当的正面和负面提示词就能够实现动漫图片的生成。截至目前已经有 12.9k 的下载量,生成效果也非常不错。本文将介绍ComfyUI-tPonynai在算家云搭建以及本地部署的…...

Python 3 教程第22篇(数据结构)

Python3 数据结构 本章节我们主要结合前面所学的知识点来介绍Python数据结构。 列表 Python中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元组不能。 以下是 Python 中列表的方…...

Oracle RAC的DB未随集群自动启动

RDBMS 19.25 参考文档: Oracle Database 12c (12.1 and 12.2) How does one modify the database resource parameter AUTO_START How to Disable Auto Start of ASM From Cluster Resource (Doc ID 2016160.1) 实际操作: [rootnode19c01 ~]# crsc…...

深度学习-49-AI应用实战之基于HyperLPR的车牌识别

文章目录 1 车牌识别系统1.1 识别原理1.1.1 车牌定位1.1.2 字符识别2 实例应用2.1 安装hyperlpr32.2 识别结果2.3 可视化显示2.4 结合streamlit3 附录3.1 PIL.Image转换成OpenCV格式3.2 OpenCV转换成PIL.Image格式3.3 st.image嵌入图像内容3.4 参考附录1 车牌识别系统 车牌识别…...

Chrome插件(扩展)开发中对表单元素赋值操作

最近在写chrome插件时候,需要对vue开发登录界面中的表单进行赋值,最开始简单的以为,找到对应的元素,直接value"XXXX" document.querySelector(input).value"admin" 结果一运行,发现输入框的值确…...

详解MVC架构与三层架构以及DO、VO、DTO、BO、PO | SpringBoot基础概念

🙋大家好!我是毛毛张! 🌈个人首页: 神马都会亿点点的毛毛张 今天毛毛张分享的是SpeingBoot框架学习中的一些基础概念性的东西:MVC结构、三层架构、POJO、Entity、PO、VO、DO、BO、DTO、DAO 文章目录 1.架构1.1 基本…...

QML学习 —— 30、图片翻转效果(附源码)

效果 说明 Flipable是一种可以在正面和背面之间明显“翻转”的物品,就像卡片一样。它可以与“旋转”、“状态”和“过渡”类型一起使用,以产生翻转效果。正面和背面属性用于固定分别显示在可翻转物品正面和背面的物品。 代码 import QtQuick 2.12 import QtQuick.Window 2.1…...

rk3588交叉编译opencv

基于forlinx开发板Linux5.10.66Qt5.15.2的环境 交叉编译工具链:aarch64-buildroot-linux-gnu-gcc、aarch64-buildroot-linux-gnu-g opencv版本:3.4.15 创建toolchain.cmake # 工具链路径 set(CMAKE_C_COMPILER /home/forlinx/aarch64-buildroot-linux…...

Kubernetes 之 Ingress 和 Service 的异同点

1. 概念与作用 1.1 Ingress Ingress 是什么? Ingress主要负责七层负载,将外部 HTTP/HTTPS 请求路由到集群内部的服务。它可以基于域名和路径定义规则,从而将外部请求分配到不同的服务。 ingress作用 提供 基于 HTTP/HTTPS 的路由。 支持 …...

Java 反射(Reflection)

Java 反射(Reflection) Java 反射(Reflection)是一个强大的特性,它允许程序在运行时查询、访问和修改类、接口、字段和方法的信息。反射提供了一种动态地操作类的能力,这在很多框架和库中被广泛使用&#…...

C语言刷题笔记3(7)

7.1 数组处理斐波那契数列 题目描述:用数组来处理Fibonacci数列并输出。 输入:一个不超过40且大于2的整数n,表示需要处理并输出的Fibonacci数个数。 输出:输出前n个Fibonacci数,每行输出5个值,按每12位向右对齐的方式输出。请注意不要在第…...

【新人系列】Python 入门(十四):文件操作

✍ 个人博客:https://blog.csdn.net/Newin2020?typeblog 📝 专栏地址:https://blog.csdn.net/newin2020/category_12801353.html 📣 专栏定位:为 0 基础刚入门 Python 的小伙伴提供详细的讲解,也欢迎大佬们…...

学成在线day06

上传视屏 断点续传 通常视频文件都比较大,所以对于媒资系统上传文件的需求要满足大文件的上传要求。http协议本身对上传文件大小没有限制,但是客户的网络环境质量、电脑硬件环境等参差不齐,如果一个大文件快上传完了网断了没有上传完成&…...

详细介绍HTTP与RPC:为什么有了HTTP,还需要RPC?

目录 一、HTTP 二、RPC 介绍 工作原理 核心功能 如何服务寻址 如何进行序列化和反序列化 如何网络传输 基于 TCP 协议的 RPC 调用 基于 HTTP 协议的 RPC 调用 实现方式 优点和缺点 使用场景 常见框架 示例 三、问题 问题一:是先有HTTP还是先有RPC&…...

ffmpeg 各版本号对应表格

想看看ffmpeg各个版本对应表, #! /bin/bashFF_PATH$1 CURRENTpwd RESULT"$CURRENT/test_version.txt"cd $FF_PATHif [ -f $RESULT ]; thenrm $RESULT fifor i in git branch -a | grep remotes/origin/release/ | grep -v HEAD | grep -v master; dogit…...

cesium 3Dtiles变量

原本有一个变亮的属性luminanceAtZenith,但是新版本的cesium没有这个属性了。于是 let lightColor 3.0result._customShader new this.ffCesium.Cesium.CustomShader({fragmentShaderText:void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial mate…...

如何分析Windows防火墙日志

Windows防火墙,也被称为Windows Defender Firewall,是一种内置的安全功能,可以主动监控和分析运行Windows操作系统的计算机上通过Windows防火墙的网络流量,主要目的是作为计算机和互联网或其他网络之间的屏障,使管理员…...

Linux下 history 命令输出时间

在 Linux 中,查看每条命令的执行时间。 文章目录 [toc]**1. 配置 Shell 以记录命令执行时间****1.1 Bash Shell****步骤:****注意事项:** **1.2 Zsh Shell****步骤:****注意事项:** 1. 配置 Shell 以记录命令执行时间 …...

ChatGPT/AI辅助网络安全运营之-数据解压缩

在网络安全的世界中,经常会遇到各种压缩的数据,比如zip压缩,比如bzip2压缩,gzip压缩,xz压缩,7z压缩等。网络安全运营中需要对这些不同的压缩数据进行解压缩,解读其本意,本文将探索一…...

导入 OpenCV for Android 的技巧

下载了 OpenCV for Android Sdk 以后,一头雾水,不知道从哪里下手,既不是jar、也不是aar,没关系,简单几步即可使用 OpenCV。 1、使用 Android Studio 打开 samples (示例)项目 2、同步项目&…...

云原生时代的轻量级反向代理Traefik

Traefik 是一个用于路由和管理网络流量的反向代理,同时也是一个支持多种协议(HTTP、HTTPS、TCP、UDP)的负载均衡器。它通过自动服务发现和动态配置,帮助开发者和运维团队轻松管理复杂的应用架构。 Traefik 的主要特点如下&#x…...

3D扫描对文博行业有哪些影响?

三维扫描技术对文博行业产生了深远的影响,主要体现在以下几个方面: 一、高精度建模与数字化保护 三维扫描技术通过高精度扫描设备,能够捕捉到文物的每一个细节,包括形状、纹理、颜色等,从而生成逼真的3D模型。这些模…...

linux安全管理-会话安全

文章目录 1 设置命令行界面超时退出2 配置终端登录失败策略3 配置 SSH 登录失败策略 1 设置命令行界面超时退出 1、检查内容 检查操作系统是否设置命令行界面超时退出。 2、配置要求 操作系统设置命令行界面超时退出。 3、配置方法 配置命令行界面超时时间,编辑/et…...

未来已来?AI技术革新改变我们的生活

在21世纪的今天,人工智能(AI)不再是一个遥远的概念,而是逐渐渗透到我们生活的方方面面。从智能家居到自动驾驶汽车,从个性化推荐系统到医疗诊断辅助,AI技术正在以惊人的速度发展,并深刻地影响着…...

列表上移下移功能实现

后台管理某列表需实现上移下移功能,并与前端展示列表排序相关。 现将开发完成过程笔记记录下来。 目录 列表增加属性 JQuery脚本 服务端 控制器 服务层 总结 列表增加属性 在循环渲染时,在table表格的tr上增加id和排序的属性值,以便传…...

[保姆式教程]使用labelimg2软件标注定向目标检测数据和格式转换

定向目标检测是一种在图像或视频中识别和定位对象的同时,还估计它们方向的技术。这种技术特别适用于处理有一定旋转或方向变化的对象,例如汽车、飞机或文本。定向目标检测器的输出是一组旋转的边界框,这些框精确地包围了图像中的对象&#xf…...

qt音频实战

一、Qt音频基础知识 1、QT multimedia 2、QMediaPlayer类:媒体播放器,主要用于播放歌曲、网络收音机等功能。 3、QMediaPlaylist类:专用于播放媒体内容的列表。 二、界面设计 三、代码 #include "mainwindow.h" #include "…...

【C++】static修饰的“静态成员函数“--静态成员在哪定义?静态成员函数的作用?

声明为static的类成员称为类的静态成员,用static修饰的成员变量,称之为静态成员变量;用 static修饰的成员函数,称之为静态成员函数。静态成员变量一定要在类外进行初始化 一、静态成员变量 1)特性 所有静态成员为所有类对象所共…...

『Linux学习笔记』linux系统有哪些方法计算文件的md5!

linux系统有哪些方法计算文件的md5! 文章目录 一. linux系统有哪些方法计算文件的md5!1. 使用 md5sum 命令(推荐)示例:输出:使用方法: 2. 使用 openssl 命令计算MD5值:输出:使用方法&#xff1…...

css vue vxe-text-ellipsis table 实现多行文本超出隐藏省略

分享 vxe-text-ellipsis table grid 多行文本溢出省略的用法 正常情况下如果需要使用文本超出隐藏,通过 css 就可以完成 overflow: hidden; text-overflow: ellipsis; white-space: nowrap;但是如果需要实现多行文本溢出,就很难实现里,谷歌…...

构建现代Web应用:FastAPI、SQLModel、Vue 3与Axios的结合使用

FastAPI介绍 FastAPI是一个用于构建API的现代、快速(高性能)的Web框架,使用Python并基于标准的Python类型提示。它的关键特性包括快速性能、高效编码、减少bug、智能编辑器支持、简单易学、简短代码、健壮性以及标准化。FastAPI自动提供了交互…...

图像边界填充算法详解与Python实现

目录 图像边界填充算法详解与实现1. 基础概念1.1 边界填充的意义与应用场景1.2 常见填充策略概览2. 零填充算法(Zero Padding)2.1 理论介绍2.2 Python实现及代码详解2.3 案例分析3. 镜像填充算法(Mirror Padding)3.1 理论介绍3.2 Python实现及代码详解3.3 案例分析4. 重复填…...