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

MySQL查询语句完全指南:从基础到高阶实战

一、开篇:为什么选择MySQL查询作为切入点?

根据Stack Overflow 2023开发者调查,MySQL以51.1%的使用率蝉联最受欢迎数据库榜首。其查询语句作为数据操作的基石,支撑着全球数百万应用的日常运转。本指南将通过2000+字详解30+个实战案例,带您系统掌握从基础检索到复杂分析的全套技能。


二、环境准备:示例数据表结构

2.1 员工信息表(employees)

列名类型约束
emp_idINTPRIMARY KEY
nameVARCHAR(50)NOT NULL
departmentVARCHAR(20)DEFAULT '待分配'
salaryDECIMAL(10,2)CHECK(salary>0)
hire_dateDATE

2.2 订单表(orders)

列名类型说明
order_idINT主键
emp_idINT外键关联员工
amountDECIMAL(10,2)订单金额
order_dateDATETIME默认当前时间

三、基础查询全解析

3.1 SELECT基础语法

-- 基础检索
SELECT * FROM employees;  -- 全字段查询-- 字段投影
SELECT name, salary, hire_date FROM employees; -- 算术运算
SELECT name, salary, salary*1.2 AS next_year_salary FROM employees;-- 函数应用
SELECT UPPER(name), DATE_FORMAT(hire_date, '%Y/%m') FROM employees;

3.2 WHERE条件过滤

-- 比较运算符
SELECT * FROM employees WHERE salary >= 10000;-- 日期范围查询
SELECT * FROM employees 
WHERE hire_date BETWEEN '2020-01-01' AND '2022-12-31';-- 逻辑运算符组合
SELECT * FROM employees
WHERE department = '技术部' AND (salary > 15000 OR YEAR(hire_date) = 2023);-- NULL值处理
SELECT * FROM employees WHERE department IS NULL;

3.3 结果排序与限制

-- 多列排序
SELECT name, salary FROM employees
ORDER BY department ASC, salary DESC;-- 分页查询(每页10条)
SELECT * FROM orders
ORDER BY order_date DESC
LIMIT 20, 10;  -- 第三页数据:偏移量=(3-1)*10=20

四、聚合分析与分组查询

4.1 常用聚合函数

函数说明示例
COUNT()统计行数COUNT(DISTINCT dept)
SUM()求和SUM(salary)
AVG()平均值AVG(DATEDIFF(NOW(), hire_date)/365)
MAX()/MIN()极值MAX(order_date)

4.2 GROUP BY实战

-- 部门薪资统计
SELECT department, COUNT(*) AS headcount,AVG(salary) AS avg_salary
FROM employees
GROUP BY department;-- 多列分组:按月统计订单
SELECT YEAR(order_date) AS year,MONTH(order_date) AS month,COUNT(*) AS order_count,SUM(amount) AS total_amount
FROM orders
GROUP BY year, month;

4.3 HAVING筛选分组

-- 筛选平均薪资过万的部门
SELECT department, AVG(salary) avg_salary
FROM employees
GROUP BY department
HAVING avg_salary > 10000;-- 月订单超百万元的月份
SELECT YEAR(order_date) AS year,MONTH(order_date) AS month,SUM(amount) AS total
FROM orders
GROUP BY year, month
HAVING total >= 1000000;

五、高级查询技巧

5.1 多表连接查询

-- 内连接:员工订单数据
SELECT e.name, o.order_id, o.amount
FROM employees e
INNER JOIN orders o ON e.emp_id = o.emp_id;-- 左连接:包含无订单员工
SELECT e.name, COUNT(o.order_id) AS order_count
FROM employees e
LEFT JOIN orders o ON e.emp_id = o.emp_id
GROUP BY e.emp_id;

5.2 子查询应用

-- 标量子查询:高于部门平均薪资的员工
SELECT name, salary, department
FROM employees e1
WHERE salary > (SELECT AVG(salary)FROM employees e2WHERE e2.department = e1.department
);-- EXISTS子查询:有订单的技术部员工
SELECT name 
FROM employees e
WHERE department = '技术部'AND EXISTS (SELECT 1 FROM orders o WHERE o.emp_id = e.emp_id
);

5.3 联合查询(UNION)

-- 合并不同部门的员工名单
SELECT name FROM employees WHERE department = '销售部'
UNION ALL
SELECT name FROM contractors WHERE project = '销售支持';-- 统计不同薪资区间人数
SELECT '高薪' AS level, COUNT(*) 
FROM employees WHERE salary >= 20000
UNION
SELECT '中薪', COUNT(*) 
FROM employees WHERE salary BETWEEN 10000 AND 19999
UNION
SELECT '基础', COUNT(*) 
FROM employees WHERE salary < 10000;

六、综合实战案例:电商数据分析

6.1 核心指标分析

-- 各品类销售额Top10
SELECT p.category,SUM(oi.quantity * oi.unit_price) AS sales,RANK() OVER(ORDER BY SUM(oi.quantity * oi.unit_price) DESC) AS rank
FROM order_items oi
JOIN products p ON oi.product_id = p.product_id
GROUP BY p.category
ORDER BY sales DESC
LIMIT 10;-- 用户复购率计算
WITH purchase_stats AS (SELECT user_id,COUNT(DISTINCT DATE_FORMAT(order_date, '%Y-%m')) AS active_monthsFROM ordersGROUP BY user_id
)
SELECT CASE WHEN active_months >= 3 THEN '高复购'WHEN active_months = 2 THEN '中复购'ELSE '低复购' END AS segment,COUNT(*) AS user_count
FROM purchase_stats
GROUP BY segment;

6.2 异常数据检测

-- 检测异常大额订单
SELECT o.order_id, o.amount, e.name
FROM orders o
JOIN employees e ON o.emp_id = e.emp_id
WHERE o.amount > 3 * (SELECT AVG(amount) FROM orders WHERE emp_id = o.emp_id
);-- 找出薪资倒挂的经理
SELECT m.name AS manager,e.name AS employee,e.salary AS emp_salary,m.salary AS mgr_salary
FROM employees e
JOIN employees m ON e.manager_id = m.emp_id
WHERE e.salary > m.salary;

七、性能优化与避坑指南

7.1 索引黄金法则

-- 为高频查询字段创建索引
CREATE INDEX idx_department ON employees(department);
CREATE INDEX idx_order_date ON orders(order_date);-- 复合索引最左前缀原则
CREATE INDEX idx_dept_salary ON employees(department, salary);

7.2 常见错误示例

-- 错误1:GROUP BY缺失非聚合列
SELECT name, AVG(salary)  -- name未在GROUP BY中
FROM employees
GROUP BY department;-- 错误2:混淆WHERE和HAVING
SELECT department, AVG(salary)
FROM employees
WHERE AVG(salary) > 10000  -- WHERE不能使用聚合函数
GROUP BY department;-- 错误3:错误的分页偏移量
SELECT * FROM products
LIMIT 5, 5;  -- 第2页数据:每页5条,偏移量=(2-1)*5=5

7.3 优化技巧

  1. EXPLAIN分析执行计划
    EXPLAIN SELECT * FROM employees WHERE department = '技术部';
  2. 避免全表扫描
    -- 优化前
    SELECT * FROM orders WHERE YEAR(order_date) = 2023;-- 优化后(使用范围查询)
    SELECT * FROM orders 
    WHERE order_date BETWEEN '2023-01-01' AND '2023-12-31';
  3. 分页查询优化
    -- 传统分页(数据量大时慢)
    SELECT * FROM orders LIMIT 1000000, 20;-- 优化方案:使用游标分页
    SELECT * FROM orders 
    WHERE order_id > 1000000
    ORDER BY order_id
    LIMIT 20;

相关文章:

MySQL查询语句完全指南:从基础到高阶实战

一、开篇&#xff1a;为什么选择MySQL查询作为切入点&#xff1f; 根据Stack Overflow 2023开发者调查&#xff0c;MySQL以51.1%的使用率蝉联最受欢迎数据库榜首。其查询语句作为数据操作的基石&#xff0c;支撑着全球数百万应用的日常运转。本指南将通过2000字详解和30个实战…...

AJAX 数据库

AJAX 数据库 引言 随着互联网技术的飞速发展,前端与后端之间的交互需求日益增长。AJAX(Asynchronous JavaScript and XML)作为一种强大的技术,在实现这种交互中发挥着关键作用。本文将深入探讨AJAX技术与数据库的融合,分析其在现代Web开发中的应用及其优势。 AJAX简介 …...

正则表达式梳理(基于python)

正则表达式&#xff08;regular expression&#xff09;是一种针对字符串匹配查找所定义的规则模式&#xff0c;独立于语言&#xff0c;但不同语言在实现上也会存在一些细微差别&#xff0c;下面基于python对常用的相关内容进行梳理。 文章目录 一、通用常识1.通配符ps.反义 2.…...

Python项目-基于深度学习的校园人脸识别考勤系统

引言 随着人工智能技术的快速发展&#xff0c;深度学习在计算机视觉领域的应用日益广泛。人脸识别作为其中的一个重要分支&#xff0c;已经在安防、金融、教育等多个领域展现出巨大的应用价值。本文将详细介绍如何使用Python和深度学习技术构建一个校园人脸识别考勤系统&#…...

在PyCharm开发环境中,如何建立hello.py文件?

李升伟 整理 一、分析 首先&#xff0c;用户可能是刚接触PyCharm或者Python的新手&#xff0c;所以需要从打开软件开始讲起。不过用户可能已经安装好了PyCharm&#xff0c;但也许需要确认是否已经正确安装。不过问题重点在创建文件&#xff0c;可能不需要深入安装步骤。 接下…...

常见的网络协议介绍

一、什么是网络协议 指的是通信双方的数据发送和接收顺序&#xff0c;数据的封装规则。 通俗解释&#xff1a;描述双方发送和接收的每个字节是按照什么规则。 二、TCP/IP体系的常用协议 (一)应用层 HTTP&#xff1a;超文本协议&#xff1b;指的是用来传输文本网页的协议&#…...

【折线图 Line】——12

🌟 解锁数据可视化的魔法钥匙 —— pyecharts实战指南 🌟 在这个数据为王的时代,每一次点击、每一次交易、每一份报告背后都隐藏着无尽的故事与洞察。但你是否曾苦恼于如何将这些冰冷的数据转化为直观、吸引人的视觉盛宴? 🔥 欢迎来到《pyecharts图形绘制大师班》 �…...

沃丰科技结合DeepSeek大模型技术落地与应用前后效果对比

技术突破&#xff1a;DeepSeek算法创新&#xff0c;显著降低了显存占用和推理成本。仅需少量标注数据即可提升推理能力。这种突破减少了对海量数据的依赖&#xff0c;削弱了数据垄断企业的优势&#xff01; 商业模式颠覆&#xff1a;DeepSeek选择完全开源模式&#xff0c;迫使…...

基于opencv和dlib的人脸识别定位

cv2 cv2是OpenCV库中的一个模块&#xff0c;OpenCV的Python绑定库。 图像处理功能&#xff0c;还集成了一些高级的计算机视觉算法。 cv2.rectangle 图像上绘制矩形&#xff0c;cv2.rectangle(Numpy图片, 左上坐标, 右下坐标, color, thickness粗度) cv2.cvtColor&#xf…...

力扣-字符串

字符串不能被修改&#xff0c;所以如果有想修改字符串的行为&#xff0c;需要转换为StringBuilder StringBuilder里也有很多封装方法String没有&#xff0c;比如reverse() StringBuilder sb new StringBuilder();// 添加字符串 sb.append("Hello"); sb.append(&qu…...

Non-Homophilic Graph Pre-Training and Prompt Learning

Non-Homophilic Graph Pre-Training and Prompt Learning KDD25 ​#paper/⭐#​ 目的&#xff1a;对异配图进行prompt ‍ ​​ 方法 邻居节点的综合嵌入 s v 1 ∣ V ( S v ) ∣ ∑ u ∈ V ( S v ) h u ⋅ s i m ( h u , h v ) , \mathbf{s}_{v}\frac{1}{|V(S_{v})|}\su…...

利用golang embed特性嵌入前端资源问题解决

embed嵌入前端资源&#xff0c;配置前端路由的代码如下 func StartHttpService(port string, assetsFs embed.FS) error {//r : gin.Default()gin.SetMode(gin.ReleaseMode)r : gin.New()r.Use(CORSMiddleware())// 静态文件服务dist, err : fs.Sub(assetsFs, "assets/di…...

10分钟从零开始搭建机器人管理系统(飞算AI)

1. 安装插件 https://www.feisuanyz.com/ 2. Intellij IDEA中运行 创建一个BS架构的机器人远程操控系统&#xff0c;具备机器人状态及位置实时更新&#xff0c;可以实现机器人远程遥控&#xff0c;可以对机器人工作日志进行统计分析&#xff0c;以及其它管理系统的常用功能3…...

C# Enumerable类 之 数据(类型)转换

总目录 前言 在 C# 中&#xff0c;System.Linq.Enumerable 类是 LINQ&#xff08;Language Integrated Query&#xff09;的核心组成部分&#xff0c;它提供了一系列静态方法&#xff0c;用于操作实现了 IEnumerable 接口的集合。通过这些方法&#xff0c;我们可以轻松地对集合…...

MariaDB Galera 原理及用例说明

一、底层原理 MariaDB Galera 集群是一种基于同步多主架构的高可用数据库解决方案&#xff0c;适合需要高并发、低延迟和数据强一致性的场景。以下是部署和配置 MariaDB Galera 集群的简明步骤&#xff1a; 1. 环境准备 节点要求&#xff1a;至少 3 个节点&#xff08;奇数节点…...

HMC7043和HMC7044芯片配置使用

一,HMC7043芯片 MC7043独特的特性是对14个通道分别进行独立灵活的相位管理。所有14个通道均支持频率和相位调整。这些输出还可针对50 Ω或100 Ω内部和外部端接选项进行编程。HMC7043器件具有RF SYNC功能,支持确定性同步多个HMC7043器件,即确保所有时钟输出从同一时钟沿开始…...

Spring Boot 3.0核心特性解读

1.1 JDK 17 LTS支持&#xff08;实测性能提升&#xff09; 记录类&#xff08;Record&#xff09;与Spring Data JPA完美适配模式匹配简化类型判断密封类&#xff08;Sealed Class&#xff09;增强DTO安全性 // 使用Record优化DTOpublic record UserDTO(NotBlank String usern…...

在Qt中使用QFont设置字体样式

在Qt中使用QFont设置字体样式的步骤如下&#xff1a; 1. 创建QFont对象 QFont font;2. 设置字体属性 字体家族&#xff1a;使用setFamily()方法&#xff0c;建议提供备选字体。 font.setFamily("Arial, sans-serif"); // 备选通用字体字体大小&#xff1a; 点大小&…...

Linux网络_应用层自定义协议与序列化_守护进程

一.协议 协议是一种 "约定". socket api 的接口, 在读写数据时, 都是按 "字符串" 的方式来发送接 收的. 如果我们要传输一些 "结构化的数据" 怎么办呢? 其实&#xff0c;协议就是双方约定好的结构化的数据 像下面&#xff0c;两端都知道数据结构…...

c++领域展开第十五幕——STL(String类的模拟实现)超详细!!!!

文章目录 前言string类的模拟实现string类——迭代器的模拟string类——默认成员函数string类——常用函数接口string类——输入输出重载 总结 前言 上篇博客已经简单的介绍了string类的一些接口&#xff0c;并且做了一些了解 同时也刷了一些oj题目&#xff0c;熟练使用一些str…...

解锁Egg.js:从Node.js小白到Web开发高手的进阶之路

一、Egg.js 是什么 在当今的 Web 开发领域&#xff0c;Node.js 凭借其事件驱动、非阻塞 I/O 的模型&#xff0c;在构建高性能、可扩展的网络应用方面展现出独特的优势 &#xff0c;受到了广大开发者的青睐。它让 JavaScript 不仅局限于前端&#xff0c;还能在服务器端大展身手&…...

2024华为OD机试真题-螺旋数字矩阵-(C++)-E卷D卷-100分

2024华为OD机试题库-(E卷+C卷+D卷)-(JAVA、Python、C++) 目录 题目描述 输入描述 输出描述 用例1 用例2 用例3 考点 解题思路 代码 c++ 题目描述 疫情期间,小明隔离在家,百无聊赖,在纸上写数字玩。他发明了一种写法: 给出数字个数 n (0 < n ≤ 999)和行数 …...

记录若依分离版脚手架升级 springboot 3.X版本 中的报错 以及集成mybatis plus

问题一&#xff1a; Web application could not be started as there was no org.springframework.boot.web.servlet.server.ServletWebServerFactory bean defined in the context.移除父pom中的tomcat相关配置 子pom中增加 SpringBoot Web容器 <!-- SpringBoot Web容器 …...

Docker基础-常见命令与数据卷

(一)常见命令 一、Docker常见命令 使用 docker pull 用来拉取仓库的镜像文件到本地&#xff1b;docker images 用于查看镜像文件&#xff1b;docker rmi 用于删除镜像文件docker build 用于自定义镜像&#xff0c;将来自己写的java项目也是通过这种方式来构建和打包&#xff1…...

C++基础(16 智能指针)

目录 1. 智能指针的使用场景分析 2. RAII和智能指针的设计思路 3. C标准库智能指针的使用 4. 智能指针的原理 5. shared_ptr和weak_ptr 5.1 shared_ptr循环引用问题 5.2 weak_ptr 如何检测内存泄漏&#xff08;了解&#xff09; 1. 智能指针的使用场景分析 下⾯程序中我…...

蓝耘智算携手通义万相2.1:助力 AIGC 生成效率与性能的革新实践

欢迎来到ZyyOvO的博客✨&#xff0c;一个关于探索技术的角落&#xff0c;记录学习的点滴&#x1f4d6;&#xff0c;分享实用的技巧&#x1f6e0;️&#xff0c;偶尔还有一些奇思妙想&#x1f4a1; 本文由ZyyOvO原创✍️&#xff0c;感谢支持❤️&#xff01;请尊重原创&#x1…...

嵌入式学习-EXTI外部中断

STM32 是一种基于 ARM Cortex-M 内核的微控制器系列&#xff0c;广泛应用于嵌入式系统开发。中断&#xff08;Interrupt&#xff09;是 STM32 中一个非常重要的功能&#xff0c;它允许微控制器在执行主程序的同时&#xff0c;响应外部事件或内部事件的请求&#xff0c;从而实现…...

git 中 commit 的修改

修改最新的commit 1. 通过文本编辑器修改 # 修改最后一次提交的提交信息 git commit --amend2. 通过命令行修改 git commit --amend -m "新的提交信息"3. 仅添加遗漏的文件 # 添加遗漏的文件到暂存区 git add 遗漏的文件路径 # 修改最后一次提交&#xff0c;将暂…...

视觉Transformer(ViT)解析:它们比CNN更好吗?

深入理解计算机视觉任务中突破性架构的工作原理 1. 引言 自从自注意力机制&#xff08;Self-Attention Mechanism&#xff09;被引入以来&#xff0c;Transformer模型一直是自然语言处理&#xff08;NLP&#xff09;任务的首选。基于自注意力的模型具有高度并行化的特性&…...

rustup-init.exe 安装缓慢的解决办法

首先在rust官网下载安装程序&#xff0c;官网下载的 rustup-init.exe 下载慢&#xff0c;安装慢&#xff0c;或者直接卡死。 下载安装程序在本地&#xff0c;使用国内镜像加速 Rust 更新与下载。 使用国内镜像源&#xff1a;在 rustup-init.exe 程序文件夹下使用 PowerShell 中…...

动规【力扣】72. 编辑距离

数组含义&#xff1a; dp[i][j]含义是word1的i长度字符串和word2的j长度字符串所需的最少编辑距离。 递推公式&#xff1a; 1.当word1.charAt(i-1)word2.charAt(j-1)时&#xff0c;不用做任何操作&#xff0c;所以dp[i][j] dp[i-1][j-1]&#xff1b; 2.当word1.charAt(i-1)&a…...

获取哔站评论

一、文章立论 哔哩哔哩&#xff08;B站&#xff09;是当前年轻人十分喜爱的视频分享平台&#xff0c;以其丰富多样的内容、互动性强的社区氛围以及独特的弹幕文化深受用户喜爱。在该平台上&#xff0c;用户不仅可以观看各种类型的视频&#xff0c;如动画、游戏、科技、生活、影…...

LeetCode 链表章节

简单 21. 合并两个有序链表 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1&#xff1a; 输入&#xff1a;l1 [1,2,4], l2 [1,3,4] 输出&#xff1a;[1,1,2,3,4,4]示例 2&#xff1a; 输入&#xff1a;l1 [], l2…...

JavaScript实现倒计时函数

函数代码 /*** 倒计时* param {function} callback 回调函数&#xff0c;参数为当前剩余时间(time)* param {number} count 倒计时开始时间(s)* param {number} interval 间隔时间(ms)*/ function countDown(callback, count 60, interval 1000) {callback(count);const sta…...

Spring Boot全局异常处理:“危机公关”团队

目录 一、全局异常处理的作用二、Spring Boot 实现全局异常处理&#xff08;附上代码实例&#xff09;三、总结&#xff1a; &#x1f31f;我的其他文章也讲解的比较有趣&#x1f601;&#xff0c;如果喜欢博主的讲解方式&#xff0c;可以多多支持一下&#xff0c;感谢&#x1…...

Vue 调用摄像头扫描条码

以下是一个基于 Vue.js 的页面代码示例&#xff0c;用于调用摄像头并扫描条码。我们将使用 jsQR 库来解析二维码&#xff08;或条形码&#xff09;&#xff0c;这是一个轻量级的 JavaScript 库。 实现步骤&#xff1a; 安装依赖&#xff1a;需要引入 jsQR 库。调用摄像头&…...

springboot3.x下集成hsqldb数据库

springboot3.x下集成hsqldb数据库 本文使用目前最新的sringboot3.4.3 和HyperSQL 2.7.4演示 HSQLDB数据库简介 HSQLDB&#xff08;HyperSQL DataBase&#xff09;是一个开放源代码的JAVA数据库。 可以透过 jdbc driver 来存取, 支持 ANSI-92 标准的 SQL 语法, 而且他占的空…...

网络流算法: Edmonds-Karp算法

图论相关帖子 基本概念图的表示: 邻接矩阵和邻接表图的遍历: 深度优先与广度优先拓扑排序图的最短路径:Dijkstra算法和Bellman-Ford算法最小生成树二分图多源最短路径强连通分量欧拉回路和汉密尔顿回路网络流算法: Edmonds-Karp算法网络流算法: Dinic算法 环境要求 本文所用…...

ArcGIS Pro可见性分析:精通地形视线与视域分析

在地理信息系统&#xff08;GIS&#xff09;的广泛应用中&#xff0c;可见性分析作为一项关键技术&#xff0c;发挥着不可替代的作用。 无论是城市规划、环境监测&#xff0c;还是军事侦察、景观设计&#xff0c;可见性分析都能提供精确的数据支持&#xff0c;帮助我们更好地理…...

jenkens使用笔记

jenkens使用笔记 笔记使用版本是2.492.1 git仓库ssh证书配置 已开始配置一直不行&#xff0c;然后下载插件&#xff0c;多次重启等一些列操作&#xff0c; 后来配置就可以工作了&#xff0c;原因不祥&#xff0c;不知道哪个配置起效了。 等回来闹明白了&#xff0c;再补充笔记…...

解决跨域请求的问题(CORS)

目录 解决跨域请求问题的方法 1. 服务器端配置响应头 2. JSONP&#xff08;JSON with Padding&#xff09; 3. 代理服务器 场景示例 前端代码&#xff08;使用 Fetch API&#xff09; 后端代码&#xff08;使用 Node.js Express 并设置 CORS 响应头&#xff09; 跨域资…...

未来经济范式争夺战:AR眼镜为何成为下一代交互终端的制高点?

未来经济范式争夺战&#xff1a;AR眼镜为何成为下一代交互终端的制高点&#xff1f; 在蒸汽机轰鸣的工业革命时代&#xff0c;煤炭、铁路、电报构建了第一个现代经济范式&#xff1b;互联网时代&#xff0c;电力、光纤、物流网络重构了全球经济版图。当前&#xff0c;我们正站…...

CentOS 7 安装Nginx-1.26.3

无论安装啥工具、首先认准了就是官网。Nginx Nginx官网下载安装包 Windows下载&#xff1a; http://nginx.org/download/nginx-1.26.3.zipLinxu下载 wget http://nginx.org/download/nginx-1.26.3.tar.gzLinux安装Nginx-1.26.3 安装之前先安装Nginx依赖包、自行选择 yum -y i…...

基于opencv消除图片马赛克

以下是一个基于Python的图片马赛克消除函数实现&#xff0c;结合了图像处理和深度学习方法。由于马赛克消除涉及复杂的图像重建任务&#xff0c;建议根据实际需求选择合适的方法&#xff1a; import cv2 import numpy as np from PIL import Imagedef remove_mosaic(image_pat…...

MongoDB Compass中MONGOSH常用查询整理

MongoDB Compass中MONGOSH常用查询整理 选择数据库基本的查找指令find() 方法findOne() 方法 高级查询条件比较操作符逻辑操作符投影操作排序操作限制和跳过操作limit() 方法skip() 方法 正则表达式查询数组查询 MongoDB Compass 是一款可视化的 MongoDB 数据库管理工具&#x…...

SSM笔记

一、获取对象 Scop 单例在容器启动时就直接创建&#xff0c;如果不希望这样&#xff0c;那就使用Lazy懒加载&#xff0c;只能在单例模式下 3、4不常用 FactoryBean创建 对象 创建对象比较复杂时&#xff0c;可以实现创建一个类实现FactoryBean&#xff0c;实现3个方法来创建…...

5G学习笔记之BWP

我们只会经历一种人生&#xff0c;我们选择的人生。 参考&#xff1a;《5G NR标准》、《5G无线系统指南:如微见著&#xff0c;赋能数字化时代》 目录 1. 概述2. BWP频域位置3. 初始与专用BWP4. 默认BWP5. 切换BWP 1. 概述 在LTE的设计中&#xff0c;默认所有终端均能处理最大2…...

MongoDB Chunks核心概念与机制

1. 基础定义‌ ‌Chunk&#xff08;块&#xff09;‌&#xff1a;MongoDB分片集群中数据的逻辑存储单元&#xff0c;由一组连续的片键&#xff08;Shard Key&#xff09;范围数据组成&#xff0c;默认大小为‌64MB‌&#xff08;可调整范围为1-1024MB&#xff09;‌。‌数据分…...

el-table 手动选择展示列

需求&#xff1a; 由于表格的列过多,用滚动条进行滚动对比数据不方便&#xff0c;所以提出&#xff0c;手动选择展示列 实现思路&#xff1a; 表格默认展示所有字段&#xff0c;每个字段通过 v-if 属性来进行判断是否显示&#xff1b;点击设置按钮图标(表格右上角&#xff0…...

Netty笔记3:NIO编程

Netty笔记1&#xff1a;线程模型 Netty笔记2&#xff1a;零拷贝 Netty笔记3&#xff1a;NIO编程 Netty笔记4&#xff1a;Epoll Netty笔记5&#xff1a;Netty开发实例 Netty笔记6&#xff1a;Netty组件 Netty笔记7&#xff1a;ChannelPromise通知处理 Netty笔记8&#xf…...