【MySQL】第五弹——表的CRUD进阶(三)聚合查询(上)
文章目录
- 🌅聚合函数
- 🌊1.COUNT();统计所有行
- 🌊2. SUM(列名); 求和
- 🌊3. AVG() 求平均
- 🌊4. MAX(),MIIN()
- 🌅分组查询
- 🌊GROUP BY 子句
- 🌊HAVING
- 🌅联合查询
- 🌊联合多个表进行查询
- 🏄♂️联合查询是MYSQL内部是如何执行的?
- 💦1. 取多张表的笛卡尔积
- 💦2. 通过连接条件过滤无效数据
- 💦3.通过指定列查询,来精简结果集
- 🌊内连接
- 🌊示例练习
- 🏄♂️内连接练习
- 🏄♂️联合查询练习
🌅聚合函数
聚合查询本质上是针对数据表中的行与行进行运算
之前我么你介绍的表达式查询,是 对一行记录中的列和列之间进行运算
比如:语文成绩+数学成绩+英语成绩
- 常见的联合查询函数
都是一些在MYSQL里内置的一些函数
注意:这些操作都是针对一行记录中的某一列进行运算的
🌊1.COUNT();统计所有行
但是在工作中还是推荐大家使用count(*),因为这种写法是SQL标准中规定的
- 如果表中某一列数据出现NULL会怎样?
count(列名),如果列中有NULL值,则不会被统计在内
🌊2. SUM(列名); 求和
把查询结果中所有行中的指定列进行相加
注意:列中的数据类型必须是数值型,不能是字符或日期…
- 计算所有学生语文成绩总分
- 如果表中某一列数据出现NULL会怎样?–NULL进行运算结果会是NULL吗
之前我们演示过NULL与任何类型的值进行运算结果都是NULL
在SUM()求和时,NULL值不参与运算
虽然我们介绍过NULL 与任何类型得到值进行运算结果都是NULL,但是MYSQL的创始人写这个内置函数的目的是为了check有没有NULL值吗–并不是,所以我们以后再进行一些设计的时候也要考虑到用户的具体需求,我们只是为了得到总分,不是要检查是否存在NULL值,注意用户需要这个功能的主要目的,再进行设计
如果以后我们做一些公共接口开发时,一定要考虑到用户的真实意图是什么,把特殊值做特殊处理
- 如果对非数字类型的列进行求和运算,会得到一些警告信息
🌊3. AVG() 求平均
对所有行的指定列进行求平均值运算
- 对所有同学的语文成绩求平均值
2. 求语文,数学,英语三门课的总分的平均值
🌊4. MAX(),MIIN()
求所有行中指定列的最大值,最小值
- 找出语文成绩的最高分和英语成绩的最低分
- 查找语文成绩的最高分和最低分
在使用关于运算的聚合函数时,不要使用在非数值的列上,比如sum(),avg(),max(),min()
🌅分组查询
🌊GROUP BY 子句
select 中使用 group by 子句可以对指定列进行分组查询
使用group by 进行分组查询时,select指定的字段必须是’分组依据字段’,其他字段若想出现在select 中则必须包含在聚合函数中
语法:
- 示例:使用emp表进行group by子句演示
- 计算不同角色工资平均值
要分组的是 role 列,MYSQL 内部先分组再计算
这样小数点太多了,观感不好,我们使用ROUND(数值,小数点位数) 来规定一下工资的格式
group by 子句之后可以跟 order by 子句
🌊HAVING
GROUP BY 子句进行分组后,需要对分组结果再进行条件过滤,不能使用 WHERE 语句,而需要使用 HAVING
where 是对表中每一行的真实数据进行过滤
having 是对group by 之后,计算出来的结果进行过滤
where 用在 from 表名之后么也就是分组之前
having 跟在 order by 子句之后
如果需要对真实数据进行过滤,也需要对分组的结果进行过滤
那只需要在合适的位置写入 where 和 having 即可
- 查询每个角色的最高工资、最低工资和平均工资
步骤:
①.按角色进行分组
②.使用相应的聚合函数
- 显示平均工资低于1500的角色和他的平均工资
步骤:
1.按角色分组
2.使用相应的聚合函数
3.使用having子句对分组的结果进行过滤
注意: having要跟在 group by 列名之后
🌅联合查询
工作中用的最多的查询,而且面试中也经常考察
🌊联合多个表进行查询
设计表时把表进行拆分,为了消除表中的字段间的依赖关系,比如部分函数依赖和传递依赖(第二、第三范式)
这是会导致一条SQL语句查出来的数据,对于业务来说是不完整的,我们就可以使用联合查询把关系表中的数据全部查出来,在一个数据行中显示详细的信息
两张表产生了主外键关系,但这并不是我们想要的结果集
这个结果集才是我们想要的
🏄♂️联合查询是MYSQL内部是如何执行的?
💦1. 取多张表的笛卡尔积
对多张表进行笛卡尔积的过程
1.先从第一张表中取一条记录,然后再与第二张表中的第一条记录进行组合,生成一条新的记录
2.先从第一张表中取一条记录,然后再与第二张表中的第二条记录进行组合,生成一条新的记录
…
最后得到的结果就是一个全排列的结果集
语法:select * from 表名,表名
两张表取笛卡尔积之后,有些数据是无效数据,如何过滤掉无效数据?
💦2. 通过连接条件过滤无效数据
两个表之间是有主外键关系的,只需要判断两个表主外键字段是否相等即可
因为class_id 在两张表中都存在,MYSQL 分不清楚当前语句的class_id 应该取自哪个表
所以通过表名.列名的方式来解决这个问题
💦3.通过指定列查询,来精简结果集
查询时通过表名.列名指定要查询出的字段
这样查询要写的子句太长了,我们通常使用别名来简化SQL语句
student–>s
class–>c
联合查询也叫做表连接查询
1.首先确定哪几张表要参与查询
2.根据表与表之间的主外键关系,确定过滤条件
2.精简查询字段,得到想要的结果
🌊内连接
语法:
三种写法
1.使用select from … where and
2.使用select from … inner join on …
3.使用select from … join on … --内连接标准写法省略inner
以上三种写法,工作学习中自己选一个合适的即可
🌊示例练习
DROP TABLE IF EXISTS `score`;
DROP TABLE IF EXISTS `student`;
DROP TABLE IF EXISTS `class`;
DROP TABLE IF EXISTS `course`;-- ----------------------------
-- Table structure for class
-- ----------------------------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);
在之前创建好的表结构中,导入初始化数据
🏄♂️内连接练习
1.首先确定哪几张表要参与查询
2.根据表与表之间的主外键关系,确定过滤条件
3.精简查询字段,得到想要的结果
- 查询许仙同学的成绩
三个步骤一个一个来
1.确定哪几张表参与查询(取笛卡尔积) – 成绩表 学生表
取两张表的笛卡尔
2.根据表与表之间的主外键关系,确定过滤条件
两张表中通过student_id作为主外键关联字段
根据具体需求确定结果集的过滤条件
在where语句中,添加 student.name = ‘许仙’ 的过滤条件
3.精简查询列表中的字段
学生名 分数
🏄♂️联合查询练习
联合查询步骤细化之后:
1.确定查询中涉及哪些表
2.对目标表取笛卡尔积
3.确定连接条件
4.确定对整个结果集的过滤条件
5.精简查询字段
- 查询所有同学的总成绩及同学的个人信息
总成绩–>需要用到聚合函数SUM 分组查询group by
1.确定哪几张表参与查询 – 成绩表 学生表
分组查询时用学生编号好,还是用学生姓名好?–编号的目的就是为了保证记录的唯一性
2.目标表取笛卡尔积
3.确定连接关系(过滤条件)
4.按学生id进行分组,并在查询列表中,使用聚合函数就散总成绩
5.在查询列表中精简确定要查询的字段
相关文章:
【MySQL】第五弹——表的CRUD进阶(三)聚合查询(上)
文章目录 🌅聚合函数🌊1.COUNT();统计所有行🌊2. SUM(列名); 求和🌊3. AVG() 求平均🌊4. MAX(),MIIN() 🌅分组查询🌊GROUP BY 子句🌊HAVING 🌅联合查询🌊联合…...
英语学习5.16
recede 【动词】 👉 关键词:后退、减弱、退去 ✅ 释义: 后退,远离 指物体逐渐远离、移开或变得不明显,常用于描述水面、声音、军队、头发线等的“退却”或“后移”。 如:The floodwaters receded.&#x…...
创建react工程并集成tailwindcss
1. 创建工程 npm create vite admin --template react 2.集成tailwndcss 打开官网跟着操作一下就行。 Installing Tailwind CSS with Vite - Tailwind CSS...
2025 年九江市第二十三届中职学校技能大赛 (网络安全)赛项竞赛样题
2025 年九江市第二十三届中职学校技能大赛 (网络安全)赛项竞赛样题 (二)A 模块基础设施设置/安全加固(200 分)A-1 任务一登录安全加固(Windows,Linux)A-2 任务二 Nginx 安全策略&…...
STM32IIC实战-OLED模板
STM32IIC实战-OLED模板 一,SSD1306 控制芯片1, 主要特性2,I2C 通信协议3, 显示原理4, 控制流程5, 开发思路 二,HAL I2C API 解析I2C 相关 API1,2,3,4…...
BMVC2023 | 多样化高层特征以提升对抗迁移性
Diversifying the High-level Features for better Adversarial Transferability 摘要-Abstract引言-Introduction相关工作-Related Work方法-Methodology实验-Experiments结论-Conclusion 论文链接 GitHub链接 本文 “Diversifying the High-level Features for better Adve…...
C++ deque双端队列、deque对象创建、deque赋值操作
在deque中,front()是头部元素,back()指的是尾部元素。begin()是指向头部的迭代器,end()是指向尾部的下一个元素的迭代器。 push_front 头部进行插入 pop_front 尾部进行删除 push_back 尾部进行插入 pop_back 尾部进行删除 deque如果同时…...
【论文阅读】人脸修复(face restoration ) 不同先验代表算法整理2
文章目录 一、前述二、不同的先验及代表性论文2.1 几何先验(Geometric Prior)2.2 生成式先验(Generative Prior)2.3 codebook先验(Vector Quantized Codebook Prior)2.4 扩散先验 (Diffusion Pr…...
2025年渗透测试面试题总结-百度面经(题目+回答)
网络安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 百度面经 百度安全工程师面试深度复盘与优化指南 一、项目经验反思与优化策略 二、技术问题深度解析 …...
muduo库TcpConnection模块详解——C++
muduo库中的TcpConnection模块详解 TcpConnection是muduo库中处理TCP连接的核心模块,负责管理单个TCP连接的生命周期、数据读写、状态转换以及事件回调。每个TCP连接对应一个TcpConnection对象,其设计体现了高性能、线程安全和灵活回调的特点。 一、核心…...
aksharetools:大模型智能体框架agno可直接获取A股金融数据
原创内容第889篇,专注智能量化投资、个人成长与财富自由。 今天说说金融智能体开发。 智能体开发需要一个多agent框架。这样的框架,现在太多了,langchain, langgraph,autogen,crewai等等,还有各种低代码平…...
使用Maven部署WebLogic应用
使用Maven部署WebLogic应用 在Maven项目中部署应用到WebLogic服务器可以通过以下几种方式实现: 1. 使用WebLogic Maven插件 (官方推荐) Oracle提供了官方的WebLogic Maven插件,这是最直接的部署方式。 基本配置 <build><plugins><pl…...
[Java][Leetcode simple] 13. 罗马数字转整数
一、自己想的 只有提到的六种情况是-,其他都是 public int romanToInt1(String s) {int res 0;int n s.length();Map<Character, Integer> map new HashMap<>();map.put(I, 1);map.put(V, 5);map.put(X, 10);map.put(L, 50);map.put(C, 100);map.pu…...
【论文阅读】针对BEV感知的攻击
Understanding the Robustness of 3D Object Detection with Bird’s-Eye-View Representations in Autonomous Driving 这篇文章是发表在CVPR上的一篇文章,针对基于BEV的目标检测算法进行了两类可靠性分析,即恶劣自然条件以及敌对攻击。同时也提出了一…...
Ansible模块——设置软件仓库和安装软件包
设置软件仓库 ansible.builtin.rpm_key ansible.builtin.rpm_key 用于在 Fedora/RHEL 上导入或移除 GPG 公钥。 参数名 类型 默认值 说明 fingerprintstrnull 指定公钥的完整指纹(long-form)。在导入前会比对公钥是否匹配此指纹,增强安全…...
基于CentOS7制作OpenSSL 1.1的RPM包
背景:CentOS7 已经不再维护了,有时候需要升级某些组件,网上却没有相关的资源了。尤其是制作OpenSSH 9.6 的RPM包,就会要求OpenSSL为1.1的版本。基于此,还是自己制作吧,以下是踩坑过程。 1、官网提供的源码包…...
【Element UI】表单及其验证规则详细
Form表单 Form表单验证1. 使用方法2. rule参数3. validator回调函数异步服务器验证 Form表单验证 Form组件提供了表单验证的功能,需要通过rules属性传入约定的验证规则,并将Form-Item的prop属性设置为需校验的字段名 1. 使用方法 结构: &…...
使用 Python 打造一个强大的文件系统结构创建器
本文将深入分析一个基于 wxPython 的文件系统结构创建器程序,展示如何通过 CustomTreeCtrl 组件实现文件夹和文件的可视化管理,并提供添加、删除、导入、清空以及创建文件系统结构的强大功能。这个程序不仅适合开发者快速构建文件系统原型,还…...
面试真题 - 高并发场景下Nginx如何优化
Nginx是一款高性能的Web服务器和反向代理服务器,以其轻量级、高并发处理能力和稳定性闻名。在面对高并发场景时,合理的配置与优化策略至关重要,以确保服务的稳定性和响应速度。 以下是针对Nginx进行高并发优化的一些关键配置和策略ÿ…...
学习笔记:黑马程序员JavaWeb开发教程(2025.4.6)
12.4 登录校验-JWT令牌-介绍 JWT(JSON Web Token) 简洁是指JWT是一个简单字符串,自包含指的是JWT令牌,看似是一个随机字符串,但是可以根据需要,自定义存储内容 Header是JSON数据格式,原始JSO…...
机器学习——逻辑回归
一、逻辑回归概念点 逻辑回归(Logistic Regression)是一种广泛使用的统计分析方法和机器学习算法,主要用于处理二分类问题(即因变量为二元类别,如0和1、是和否等)。尽管名字中有“回归”二字,但…...
服务间的“握手”:OpenFeign声明式调用与客户端负载均衡
现在,假设我们有一个新的order-service,它在创建订单时需要获取用户信息。 如果order-service直接硬编码user-service的IP和端口进行调用,会面临以下问题: 缺乏弹性: 如果user-service实例的IP或端口发生变化(在云环境…...
蓝桥杯11届国B 答疑
题目描述 有 n 位同学同时找老师答疑。每位同学都预先估计了自己答疑的时间。 老师可以安排答疑的顺序,同学们要依次进入老师办公室答疑。 一位同学答疑的过程如下: 首先进入办公室,编号为 i 的同学需要 si 毫秒的时间。然后同学问问题老…...
【单机版OCR】清华TH-OCR v9.0免费版
今天向大家介绍一款非常好用的单机版OCR图文识别软件,它不仅功能多,识别能力强,而且还是免费使用的。OCR软件为什么要使用单机版,懂得都懂,因为如果使用在线识别的OCR软件,用户需要将文档上传互联网服务器的…...
蓝牙耳机什么牌子好?倍思值得冲不?
最近总被问“蓝牙耳机什么牌子好”,作为踩过无数坑的资深耳机党,必须安利刚入手的倍思M2s Pro主动降噪蓝牙耳机!降噪、音质、颜值全都在线,性价比直接拉满。 -52dB降噪,通勤摸鱼神器 第一次开降噪就被惊到!…...
Java卡与SSE技术融合实现企业级安全实时通讯
简介 在数字化转型浪潮中,安全与实时数据传输已成为金融、物联网等高安全性领域的核心需求。本文将深入剖析东信和平的Java卡权限分级控制技术与浪潮云基于SSE的大模型数据推送技术,探索如何将这两项创新技术进行融合,构建企业级安全实时通讯系统。通过从零到一的开发步骤,…...
使用Spring Boot和Spring Security构建安全的RESTful API
使用Spring Boot和Spring Security构建安全的RESTful API 引言 在现代Web开发中,安全性是构建应用程序时不可忽视的重要方面。本文将介绍如何使用Spring Boot和Spring Security框架构建一个安全的RESTful API,并结合JWT(JSON Web Token&…...
Win11下轻松搭建wiki.js,Docker.desktop部署指南(mysql+elasticsearch+kibana+wiki.js)
Docker.desktop部署wiki.js指南 前言环境和要求介绍提前准备 1. elasticsearch1.1 部署容器1.2 参数说明1.3 验证容器是否部署成功 2. kibana2.1 部署容器2.2 验证是否部署成功2.3 安装IK分词器 3. MySql3.1 部署容器3.2 增加数据库和wiki.js所需要的账号 4. wiki.js4.1 部署容…...
【JavaWeb】MySQL
1 引言 1.1 为什么学? 在学习SpringBootWeb基础知识(IOC、DI等)时,在web开发中,为了应用程序职责单一,方便维护,一般将web应用程序分为三层,即:Controller、Service、Dao 。 之前的案例中&am…...
数据库实验报告 数据定义操作 3
实验报告(第3次) 实验名称 数据定义操作 实验时间 10月12日1-2节 一、实验内容 1、本次实验是用sql语句创建库和表,语句是固定的,要求熟记这些sql语句。 二、源程序及主…...
寻找树的中心(重心)
题目: 思路: “剥洋葱”:每次剥掉一层叶子结点,直到最后剩余不多于2个节点,这些节点就是树的中心(重心)。 解释: 1、根据图论的知识可以知道,一颗树的中心(…...
Oracle 高水位线(High Water Mark, HWM)
1. 高水位线(HWM)的定义 基本概念:HWM 是 Oracle 数据库中一个段(如表、索引)中已分配并被格式化(Formatted)的存储空间的最高位置。它标识了该段历史上曾达到的最大数据块使用量。 物理意义&a…...
Redis学习专题(二)事务和锁机制
目录 引言 1、事务三特性 2、事务相关指令 :Multi、Exec、discard 快速入门 注意: 3、事务冲突 解决办法: 1.悲观锁 2.乐观锁 3.watch & unwatch 引言 Redis 的事务是什么? 1、Redis 事务是一个单独的隔离操作:事…...
多平台!像素艺术的最佳选择 , 开源像素画工具
项目简介 如果你喜欢作像素风格的游戏或动画,那么这款Pixelorama或许是你的好帮手。它是一款免费开源的像素画编辑器,功能丰富,操作便捷,支持多平台使用(Windows、macOS、Linux)。无论你是像素新手还是老手…...
使用 Kotlin 和 Jetpack Compose 开发 Wear OS 应用的完整指南
环境配置与项目搭建 1. Gradle 依赖配置 // build.gradle (Module) android {buildFeatures {compose true}composeOptions {kotlinCompilerExtensionVersion "1.5.3"} }dependencies {def wear_compose_version "1.2.0"implementation "androidx.…...
JavaScript【5】DOM模型
1.概述: DOM (Document Object Model):当页面被加载时,浏览器会创建页面的文档对象模型,即dom对象;dom对象会被结构化为对象树,如一个HTML文档会被分为head,body等部分,而每个部分又…...
【诊所电子处方专用软件】佳易王个体诊所门诊电子处方开单管理系统:零售药店电子处方服务系统#操作简单#诊所软件教程#药房划价
一、软件试用版资源文件下载说明 (一)若您想体验软件功能,可通过以下方式获取软件试用版资源文件: 访问头像主页:进入作者头像主页,找到第一篇文章,点击文章最后的卡片按钮,即可了…...
【OpenCV】帧差法、级联分类器、透视变换
一、帧差法(移动目标识别): 好处:开销小,不怎么消耗CPU的算力,对硬件要求不高,但只适合固定摄像头 1、优点 计算效率高,硬件要求 响应速度快,实时性强 直接利用连续帧…...
OpenCV 特征检测全面解析与实战应用
在计算机视觉领域,特征检测是从图像中提取关键信息的核心技术,这些关键特征是图像匹配、目标识别、场景理解等复杂任务的基础。OpenCV 作为计算机视觉领域最受欢迎的开源库之一,提供了丰富且高效的特征检测算法。本文将深入介绍 OpenCV 中多种…...
AI预测3D新模型百十个定位预测+胆码预测+去和尾2025年5月17日第80弹
从今天开始,咱们还是暂时基于旧的模型进行预测,好了,废话不多说,按照老办法,重点8-9码定位,配合三胆下1或下2,杀1-2个和尾,再杀6-8个和值,可以做到100-300注左右。 (1)定…...
IDEA反斜杠路径不会显示JUnit运行的工作目录配置问题
1. 当在IDEA基准目录下创建junit-reflect-annotation-proxy-app\\src\\data.txt时,如果是Mac电脑,这种\\文件路径时,IDEA里面不会显示,但在Finder下会显示,是直接创建了文件名为junit-reflect-annotation-proxy-app\sr…...
Linux517 rsync同步 rsync借xinetd托管 配置yum源回顾
计划测试下定时服务 同步成功 是否为本地YUM源内容太少?考虑网络YUM源 单词拼错了 计划后面再看下 MX安装 参考 计划回顾配置YUM源 配置本地YUM源配置外网YUM源配置仓库YUM源(不熟) 参考 参考阿里云 配置完毕 本地yum源配置 先备份 再…...
【论文阅读】A Survey on Multimodal Large Language Models
目录 前言一、 背景与核心概念1-1、多模态大语言模型(MLLMs)的定义 二、MLLMs的架构设计2-1、三大核心模块2-2、架构优化趋势 三、训练策略与数据3-1、 三阶段训练流程 四、 评估方法4-1、 闭集评估(Closed-set)4-2、开集评估&…...
大型语言模型中的QKV与多头注意力机制解析
每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...
React Flow 节点事件处理实战:鼠标 / 键盘事件全解析(含节点交互代码示例)
本文为《React Agent:从零开始构建 AI 智能体》专栏系列文章。 专栏地址:https://blog.csdn.net/suiyingy/category_12933485.html。项目地址:https://gitee.com/fgai/react-agent(含完整代码示例与实战源)。完整介绍…...
AIGC在电商行业的应用:革新零售体验
AIGC在电商行业的应用:革新零售体验 引言 人工智能生成内容(AIGC)正在深刻改变电商行业的格局。从个性化推荐到智能客服,从产品描述生成到虚拟试衣,AIGC技术正在为电商平台带来前所未有的创新和效率提升。本文将深入探…...
【数据结构】线性表--队列
【数据结构】线性表--队列 一.什么是队列二.队列的实现1.队列结构定义:2.队列初始化函数:3.队列销毁函数:4.入队列函数(尾插):5.出队列函数(头删):6.取队头元素ÿ…...
CSS- 4.1 浮动(Float)
本系列可作为前端学习系列的笔记,代码的运行环境是在HBuilder中,小编会将代码复制下来,大家复制下来就可以练习了,方便大家学习。 HTML系列文章 已经收录在前端专栏,有需要的宝宝们可以点击前端专栏查看! 点…...
Node.js 源码架构详解
Node.js 的源码是一个庞大且复杂的项目,它主要由 C 和 JavaScript 构成。要完全理解每一部分需要大量的时间和精力。我会给你一个高层次的概述,并指出一些关键的目录和组件,帮助你开始探索。 Node.js 的核心架构 Node.js 的核心可以概括为以…...
OpenCV级联分类器
概念 OpenCV 级联分类器是一种基于 Haar 特征、AdaBoost 算法和级联结构的目标检测方法,通过多阶段筛选快速排除非目标区域,实现高效实时检测(如人脸、行人等)。 加载级联分类器 // 加载级联分类器CascadeClassifier cascade;// …...