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

[mysql]窗口函数

目录

窗口函数:

为何要学习窗口函数,与mysql5.7实现语句对比

现在我们介绍一下窗口函数:

函数规则

1序号函数

2分布函数

3前后函数

5其他函数

总结


窗口函数:

首先数据库的迁移是非常慢的,大家学习新特性的时候要考虑自己公司的数据库版本是不是和自己学习的吻合

为何要学习窗口函数,与mysql5.7实现语句对比

这里先建立一个表:我们看看窗口函数的使用比基础sql的实现优势在哪

CREATE TABLE sales(

id INT PRIMARY KEY AUTO_INCREMENT,

city VARCHAR(15),

county VARCHAR(15),

sales_value DECIMAL

);

INSERT INTO sales(city,county,sales_value)

VALUES

('北京','海淀',10.00),

('北京','朝阳',20.00),

('上海','黄埔',30.00),

('上海','长宁',10.00);

需求是现在计算这个网站在每个城市的销售总额、在全国的销售总额、每个区的销售额占所在城市销售

额中的比率,以及占总销售额中的比率。

创建两个个临时表,总销售额,比率,总比率(是数据库系统中一种特殊类型的表,它只在当前会话或事务期间存在,当会话结束或事务完成后会自动删除。)

CREATE TEMPORARY TABLE a -- 创建临时表

SELECT SUM(sales_value) AS sales_value -- 计算总计金额

FROM sales;

CREATE TEMPORARY TABLE b -- 创建临时表

SELECT city,SUM(sales_value) AS sales_value -- 计算城市销售合计

FROM sales;

SELECT s.city AS 城市,s.county AS ,s.sales_value AS 区销售额,

b.sales_value AS 市销售额,s.sales_value/b.sales_value AS 市比率,

a.sales_value AS 总销售额,s.sales_value/a.sales_value AS 总比率

FROM sales s

JOIN b ON (s.city=b.city) -- 连接市统计结果临时表

JOIN a -- 连接总计金额临时表

ORDER BY s.city,s.county;

如果我们使用窗口函数可以做到一次性实现这个功能吗,答案是可以的.

需求是现在计算这个网站在每个城市的销售总额、在全国的销售总额、每个区的销售额占所在城市销售

这是我们的表.

#首先是我们的基础表格内容

SELECT sales.*

#第一个是每个城市的销售总额

,sum(sales_value) over(partition by city)

#第二个是在全国的销售总额,这里全部汇总就不需要填写参数.

,sum(sales_value) over()

#第三个是每个区的销售额

,sum(sales_value) over(partition by county)

#第四个是每个区的销售额占城市的占比

,sales_value/sum(sales_value) over(partition by city) as ‘区占比’

#第四个是每个区的销售额占全国的占比

,sales_value/sum(sales_value) over() as ‘全国占比’

#最后表来源

FROM sales

现在我们介绍一下窗口函数:

窗口函数就是group by的另一种形式,group by是分组后放在一条记录上,而窗口函数就是分类后把这些记录都保留下来在每一条记录后面

窗口函数介于单行函数和分组函数之间,单行函数不会把数据库进行一个分类,分组函数会把数据进行一个分类然后聚合为一条,窗口函数会把数据进行一个分类,

比如我想计算每个人的工资和部门最大工资的差值,那么我们就可以对部门工资进行分类,各自部门排序,然后使用窗口函数选择最后一个,,再用它减去公司的值,就可以达到差值的效果

只分类,只计算,不聚合记录,记录条数不变

函数规则

函数 OVER[PARTITION BY 字段名 ORDER BY 字段名 ASC|DESC]

函数 OVER 窗口名 … WINDOW 窗口名 AS [PARTITION BY 字段名 ORDER BY 字段名 ASC|DESC]

1序号函数

1.1row_number()函数

#查询 goods 数据表中每个商品分类下价格降序排列的各个商品信息。

#这里要根据商品分类然后进行价格降序,单行函数不能分类,聚合函数不能分类后单独排序所以使用窗口函数中的排序函数,ROW_NUMBER(这里根据实际情况决定使用rank,还是dense_rank),函数即使没有参数也要记得加括号

SELECT ROW_NUMBER() OVER(PARTITION BY category ORDER BY price) AS row_number

#保留原表需要的字段

,id, category_id, category, NAME, price, stock

FROM goods;

结果如下

#查询 goods 数据表中每个商品分类下价格最高的3种商品信息。因为这里的排序要用到新表

#这里由于需要只选择3种商品,所以我们先按商品价格进行排序,建立rownum字段之后的新表,在新表中把字段rownum进行筛选就可以.

SELECT * FROM (

#建立一个子查询表

SELECT ROW_NUMBER() OVER(PARTITION BY category ORDER BY price desc) AS

row_num,

id, category_id, category, NAME, price, stock

FROM goods) t#要给表命名,不然不能from

WHERE row_num >=3

RANK()函数,使用RANK()函数能够对序号进行并列排序,并且会跳过重复的序号,比如序号为1、1、3。

SELECT RANK() OVER(PARTITION BY category_id ORDER BY price DESC) AS#PARTITION BY

row_num,id, category_id, category, NAME, price, stock

FROM goods;

#DENSE_RANK()函数DENSE_RANK()函数对序号进行并列排序,并且不会跳过重复的序号,比如序号为1、1、2。

举例:使用DENSE_RANK()函数获取 goods 数据表中各类别的价格从高到低排序的各商品信息。

SELECT DENSE_RANK() OVER(PARTITION BY category_id ORDER BY price DESC) AS#PARTITION BY

row_num,id, category_id, category, NAME, price, stock

FROM goods;

2分布函数

2.1.PERCENT_RANK()函数

SELECT RANK() OVER w AS r,

-> PERCENT_RANK() OVER w AS pr,

-> id, category_id, category, NAME, price, stock

-> FROM goods

-> WHERE category_id = 1 WINDOW w AS (PARTITION BY category_id ORDER BY price

DESC);

+---+---

(rank - 1) / (rows - 1)

PERCENT_RANK()可以计算百分比,

第一个就是1-1除以总行数减1以此类推

2.2CUME_DUST

主要用于查询小于或等于某个值的比例。

举例:查询goods数据表中小于或等于当前价格的比例

SELECT CUME_DIST() OVER(PARTITION BY category_id ORDER BY price ASC) AS cd,

 id, category, NAME, price

FROM goods;

小于各个价格的比例是多少.P(x<=p)

3前后函数

3.1LAG(expr,n)函数

LAG(expr,n)函数返回当前行的前n行的expr的值。

举例:查询goods数据表中前一个商品价格与当前商品价格的差值。

SELECT id, category, NAME, price, pre_price, price - pre_price AS diff_price

 FROM (

SELECT id, category, NAME, price,LAG(price,1) OVER w AS pre_price

FROM goods  

WINDOW w AS (PARTITION BY category_id ORDER BY price)) t;

2LEAD(expr,n)函数

LEAD(expr,n)函数返回当前行的后n行的expr的值。

举例:查询goods数据表中后一个商品价格与当前商品价格的差值。

12 rows in set (0.00 sec)

SELECT id, category, NAME, behind_price, price,behind_price - price AS

diff_price

FROM(

SELECT id, category, NAME, price,LEAD(price, 1) OVER w AS behind_price

FROM goods WINDOW w AS (PARTITION BY category_id ORDER BY price)) t;

4首尾函数

4.1FIRST_VALUE(expr)函数返回第一个expr的值。expr代表字段

SELECT id, category, NAME, price, stock,FIRST_VALUE(price) OVER w AS

first_price

 FROM goods WINDOW w AS (PARTITION BY category_id ORDER BY price);

取最小值,最大值都可以,看你要使用asc,还是desc

4.2LAST_VALUE

5其他函数

5.1NTH_VALUE(expr,n)函数

NTH_VALUE(expr,n)函数返回第nexpr的值。

举例:查询goods数据表中排名第2和第3的价格信息。

SELECT id, category, NAME, price,NTH_VALUE(price,2) OVER w AS second_price,

NTH_VALUE(price,3) OVER w AS third_price

FROM goods WINDOW w AS (PARTITION BY category_id ORDER BY price);

NTILE(n)函数NTILE(n)函数将分区中的有序数据分为n个桶,记录桶编号。

SELECT NTILE(3) OVER w AS nt,id, category, NAME, price

-> FROM goods WINDOW w AS (PARTITION BY category_id ORDER BY price)

把数据根据你设定的顺序来分为几个组.

总结

窗口函数的特点是可以分组,而且可以在分组内排序。另外,窗口函数不会因为分组而减少原表中的行数,这对我们在原表数据的基础上进行统计和排序非常有用。

相关文章:

[mysql]窗口函数

目录 窗口函数: 为何要学习窗口函数,与mysql5.7实现语句对比 现在我们介绍一下窗口函数: 函数规则 1序号函数 2分布函数 3前后函数 5其他函数 总结 窗口函数: 首先数据库的迁移是非常慢的,大家学习新特性的时候要考虑自己公司的数据库版本是不是和自己学习的吻合 为何…...

IT人力外包定义-优势-服务流程介绍

IT人力外包&#xff1a;企业灵活用工的“技术人才蓄水池” 在数字化转型的浪潮中&#xff0c;企业对IT人才的需求日益增长&#xff0c;但招聘、培养和管理技术团队的成本和风险也随之攀升。此时&#xff0c;IT人力外包应运而生&#xff0c;成为企业高效获取技术资源的解决方案…...

Cancer Cell|scRNA-seq + scTCR + 空间多组学整合分析,揭示CD8⁺ T细胞在免疫治疗中的“双路径” | 临床问题的组学解答

Cancer Cell&#xff5c;scRNA-seq scTCR 空间多组学整合分析&#xff0c;揭示CD8⁺ T细胞在免疫治疗中的“双路径” &#x1f44b; 欢迎关注我的生信学习专栏~ 如果觉得文章有帮助&#xff0c;别忘了点赞、关注、评论&#xff0c;一起学习 近日&#xff0c;《Cancer Cell》…...

数字人民币杠杆破局预付乱象 XBIT智能合约筑牢资金安全防线

在加密货币市场与实体经济加速融合的当下&#xff0c;数字人民币试点工作正以创新姿态突破传统金融边界。青岛、广州、厦门等地近期密集落地的数字人民币智能合约应用&#xff0c;为预付式消费领域资金监管难题提供了破局方案&#xff0c;而XBIT去中心化交易所平台凭借其技术优…...

React.memo 和 useMemo

现象 React 中&#xff0c;通常父组件的某个state发生改变&#xff0c;会引起父组件的重新渲染&#xff08;和其他state的重新计算&#xff09;&#xff0c;从而会导致子组件的重新渲染&#xff08;和其他非相关属性的重新计算&#xff09; 问题一&#xff1a;如何避免因为某个…...

命令行指引的尝试

效果 步骤 首先初始化一个空的项目&#xff0c;然后安装一些依赖 npm init -y npm install inquirer execa chalk ora至于这些依赖是干嘛的&#xff0c;如下图所示&#xff1a; 然后再 package.json 中补充一个 bin 然后再根目录下新建一个 index.js , 其中的内容如下 #!/…...

《深入理解计算机系统》阅读笔记之第三章 程序的机器级表示

概述 历史观点 程序编码 数据格式 访问信息 操作数指示符 数据传送指令 压入和弹出栈数据 算术和逻辑操作 小结 本章没有细看&#xff0c;其中主要以C语言中的一些汇编等知识来做介绍。算是一种对C语言的相关底层知识的详细介绍吧。但是从原理上理解我觉得《编码》这本书更好理…...

解析excel中的图片

解析excel中的图片 前言一、pom依赖二、使用步骤1.示例数据2.代码如下&#xff08;示例&#xff09;&#xff1a; 总结 前言 初始化数据是&#xff0c;需要将excel中的数据解析并插入数据库。 但是某几列存放的是图片&#xff0c;这时候怎么办呢。 主要解决的是&#xff1a;获…...

红队系列-网络安全知识锦囊-CTF(持续更新)

CTF CTF系列-AWD专题篇CTF-比赛培训基础1 CTF 介绍HTTP协议分析进阶001.CTF简介_宽字节注入高级 2018CTF——黑客大赛特训CTF-PWNPWNCTF竞赛中的主要题型之一了解CTF Capture The Flag 夺旗描述:# gets从标准输入设备读字符串函数#下面是对main函数中的汇编代码的解释:modifi…...

强化学习:基础理论与高级DQN算法及策略梯度基础

如果您想学习强化学习&#xff0c;我推荐David Sliver的讲座&#x1f60a;&#xff1a;RL Course by David Silver - Lecture 1: Introduction to Reinforcement Learning - YouTube 基础理论 马尔可夫决策过程&#xff08;MDP&#xff09; 1.MDP五元组定义 状态空间&#xf…...

如何修复宝可梦时时刻刻冒险无法正常工作

宝可梦的时时刻刻冒险模式是一项强大的功能&#xff0c;即使应用程序关闭&#xff0c;它也能追踪你的步行距离。它的工作原理是将你的步数与 iOS 上的 Apple Health 或 Android 上的 Google Fit 同步。它对于孵化宝可梦蛋和赚取好友糖果至关重要&#xff0c;但一旦它停止工作&a…...

RAG5个常见错误

向量数据库并非硬性规定 几乎互联网上所有关于RAG的教程都使用向量存储。如果你一直在搜索RAG相关内容&#xff0c;你就会明白我们在说什么。 基于向量的检索无疑是RAG成功的重要因素。向量嵌入非常适合映射文本的语义含义。它们也能很好地处理不同大小的文本。你的查询可能只…...

VuePress可以做什么?

VuePress 可以做什么 VuePress 是一个基于 Vue.js 的静态站点生成器,专注于文档和内容展示。它结合了 Markdown 的简洁性和 Vue 的灵活性,适合多种场景的开发需求。以下是 VuePress 的主要用途和功能: 1. 技术文档网站 VuePress 最初是为编写 Vue.js 官方文档而设计的,因…...

TDengine 数据缓存技术

简介 在现代物联网&#xff08;IoT&#xff09;和工业互联网&#xff08;IIoT&#xff09;应用中&#xff0c;数据的高效管理对系统性能和用户体验至关重要。为了应对高并发环境下的实时读写需求&#xff0c;TDengine 设计了一套完整的缓存机制&#xff0c;包括写缓存、读缓存…...

如何成功防护T级超大流量的DDoS攻击

防护T级超大流量的DDoS攻击需要综合技术、架构与运营策略的多层次防御体系。以下是基于最新技术实践和行业案例总结的关键防护策略&#xff1a; 一、流量清洗与分布式处理 部署流量清洗中心 T级攻击的核心防御依赖于专业的流量清洗技术。通过部署分布式流量清洗集群&#xff0c…...

【Linux内核设计与实现】第三章——进程管理02

文章目录 7. 进程创建7.1. 进程之间的关系7.2. 进程创建的写时拷贝机制&#xff08;copy-on-write&#xff09;7.3. fork() 函数的入口7.4. 创建新进程的核心函数 kernel_clone()7.4.1. 检查参数并调用 copy_process 创建并复制进程7.4.2. 获取新进程 PID 作为返回值7.4.3. 唤醒…...

企业部署Power BI 报表服务器,在第三方系统嵌套该报表服务器,并实现单点登录

简介 Power BI Report Server 简称PBIRS&#xff0c;中文名"Power BI 报表服务器" 微软的文档&#xff1a;Power BI 报表服务器文档 - Power BI | Microsoft Learn 借用官网的介绍&#xff1a; Power BI 报表服务器类似于 SQL Server Reporting Services 和 Power BI…...

Leetcode 2845 题解

还是要把自己做题的思路写出来的&#xff0c;但是结果可能还是得去观摩一下题解&#xff0c;无论是大佬写的题解还是leetcode官方写的题解&#xff0c;看完题解后再去反思才能有收获&#xff0c;即使下次遇见一样的题不见得能写出来&#xff0c;但有思路比没思路更重要。 今天写…...

前端基础之《Vue(12)—插件封装》

一、插件封装 1、在Vue生态中&#xff0c;除了Vue本身&#xff0c;其它所有的与Vue相关的第三方包&#xff0c;都是插件 例子&#xff1a; import VueRouter form vue-router Vue.use(VueRouter) // 注册插件 2、如何封装Vue插件 &#xff08;1&#xff09;第一种写法 const…...

arcpy列表函数的应用(2)

arcpy.ListRasters() 该函数用于列出指定工作空间中的所有栅格数据集。 语法&#xff1a; python arcpy.ListRasters(wild_cardNone, raster_typeNone)• wild_card&#xff1a;用于筛选栅格数据集名称的通配符。 • raster_type&#xff1a;用于筛选栅格数据集的类型&…...

智能电网第7期 | 断网不断控:电力监控网络高可靠通信解决方案

随着智能电网建设加速推进&#xff0c;电力监控系统的可靠性已成为保障电网安全运行的核心要素。在变电站、配电房等关键场景中&#xff0c;网络中断可能导致监控失效、故障扩大等严重后果。当前电力通信网络面临的主要挑战包括&#xff1a; 网络脆弱性&#xff1a;单一链路故障…...

Nacos简介—2.Nacos的原理简介

大纲 1.Nacos集群模式的数据写入存储与读取问题 2.基于Distro协议在启动后的运行规则 3.基于Distro协议在处理服务实例注册时的写路由 4.由于写路由造成的数据分片以及随机读问题 5.写路由 数据分区 读路由的CP方案分析 6.基于Distro协议的定时同步机制 7.基于Distro协…...

offset voltage of Comparator

静态失调电压&#xff08;static offset voltage&#xff09; 主要影响因素&#xff1a;μCox(载流子传输速率和栅氧层电容的的乘积)、阈值电压。 静态失配方差与器件尺寸成反比&#xff0c;可以增大关键对mos管的尺寸 动态失调电压&#xff08;dynamic offset voltage&…...

Spring-Ai-McpSever从外到内

MCP是什么 Model Context Protocol (MCP) 是一个开放协议&#xff0c;它使 LLM 应用与外部数据源和工具之间的无缝集成成为可能。无论你是构建 AI 驱动的 IDE、改善 chat 交互&#xff0c;还是构建自定义的 AI 工作流&#xff0c;MCP 提供了一种标准化的方式&#xff0c;将 LL…...

Vue多地址代理端口调用

第一种方法 config.ts文件 配置多条代理服务端口 如下所示:proxy: {/app: {// 其他的端口target: http://125.124.5.117:12877/,changeOrigin: true}/api: {//默认的端口// http://192.168.31.53:5173/target: http://192.168.31.199:18777/,changeOrigin: true,rewrite: pat…...

Android APP 热修复原理

版权归作者所有&#xff0c;如有转发&#xff0c;请注明文章出处&#xff1a;https://cyrus-studio.github.io/blog/ dexElements Android 的 ClassLoader&#xff08;如 PathClassLoader、DexClassLoader&#xff09;内部结构如下&#xff1a; BaseDexClassLoader└── pat…...

一些有关ffmpeg 使用(1)

1 解封装流程 1.1 什么解封装 封装的逆向操作&#xff1a;封装是把音频流、视频流、字幕流等不同成分按一定规则组合成视频文件&#xff08;如 MP4、FLV &#xff09;&#xff0c;复用器负责此过程。解封装则相反&#xff0c;是用解复用器&#xff08;针对 MP4、FLV 等格式有…...

Postman-win64-7.2.2 安装教程(Windows 64位详细步骤)

1. 下载安装包 Postman-win64-7.2.2-Setup.exe下载链接&#xff1a;https://pan.quark.cn/s/6b48480d95d5 2. 运行安装程序 双击下载的 .exe 文件&#xff0c;启动安装向导。 若系统提示权限确认&#xff0c;点击 “是” 允许安装。 3. 安装向导设置 选择安装选项&#xff0…...

C语言实现贪心算法

一、贪心算法核心思想 特征&#xff1a;在每一步选择中都采取当前状态下最优&#xff08;局部最优&#xff09;的选择&#xff0c;从而希望导致全局最优解 适用场景&#xff1a;需要满足贪心选择性质和最优子结构性质 二、经典贪心算法示例 1. 活动选择问题 目标&#xff1a…...

Linux 服务如何使用 curl 利用 HTTP Get 请求传入 SQL 语句修改数据库表内容和结构

本文是博主在部署项目时发现的一个小技巧&#xff0c;项目部署在 Linux 虚拟机上&#xff0c;数据库被设置了写权限&#xff0c;作为开发只能使用程序对数据库做增删改查&#xff0c;但是在开发测试阶段会出现很多问题&#xff0c;权限的问题大大降低了开发效率&#xff0c;所以…...

Java对象转换的多种实现方式

Java对象转换的多种实现方式 在Java开发中&#xff0c;对象转换是一个常见的需求。特别是在不同层次间传递数据时&#xff0c;通常需要将一个对象转换为另一个对象。虽然JSON序列化/反序列化是一种常见的方法&#xff0c;但在某些场景下可能并不是最佳选择。本文将总结几种常见…...

详解 LeetCode 第 242 题 - 有效的字母组

目录 题目描述 解题思路 代码分析 步骤说明 图解原理 优势分析 小结 码题目&#xff1a;LeetCode 242. 有效的字母组 题目描述 给定两个字符串 s 和 t&#xff0c;请判断是否为字母组&#xff08;Anagram&#xff09;。 如果 t 是通过打乱 s 的字符并重新排列所得到的…...

【滑动窗口+哈希表/数组记录】Leetcode 3. 无重复字符的最长子串

题目要求 给定一个字符串 s&#xff0c;找出其中不含有重复字符的最长子串的长度。 子字符串是字符串中连续非空字符序列。 示例 1 输入&#xff1a;s "abcabcbb" 输出&#xff1a;3 解释&#xff1a;无重复字符的最长子串是 "abc"&#xff0c;长度为…...

springmvc-拦截器

目录 一&#xff0c;拦截器的职责 二&#xff0c;拦截器的应用场景 三&#xff0c;拦截器的工作原理 拦截器在Spring MVC请求处理流程中的位置&#xff1a; 四&#xff0c;使用拦截器 一 &#xff0c;编写拦截类&#xff0c;实现HandlerInterceptor接口&#xff0c;重写方…...

【Agent】LangManus深度解析:AI自动化框架的对比与langgraph原理

LangManus深度解析&#xff1a;AI自动化框架的技术演进与实践 本文将带你深入探索LangManus这一AI自动化框架的核心技术与其基于langgraph的实现原理&#xff0c;并与OpenManus进行全面对比&#xff0c;助你掌握多智能体系统的前沿技术。 本文3万字&#xff0c;没有时间的话可以…...

【FreeRTOS】事件标志组

文章目录 1 简介1.1事件标志1.2事件组 2事件标志组API2.1创建动态创建静态创建 2.2 删除事件标志组2.3 等待事件标志位2.4 设置事件标志位在任务中在中断中 2.5 清除事件标志位在任务中在中断中 2.6 获取事件组中的事件标志位在任务中在中断中 2.7 函数xEventGroupSync 3 事件标…...

如何通过电路测量运放的增益带宽积(GBP)和压摆率(SR)

一、增益带宽积&#xff08;GBP&#xff09;的测量 定义&#xff1a;增益带宽积是运算放大器的开环增益下降到直流增益的 ​&#xff08;即 - 3dB&#xff09;时对应的频率与该频率下增益的乘积&#xff0c;数学表达式为&#xff1a; 其中 A0​ 是直流开环增益&#xff0c;f0​…...

SAP接口超时:对 FOR ALL ENTRIES IN 的优化

SAP接口超时 经分析要10多分钟以上才出结果&#xff0c;且是这个语句耗时较长&#xff1a; SELECTaufnrmatnrbdmnglgortmeinschargFROM resbINTO CORRESPONDING FIELDS OF TABLE lt_lylcddxhFOR ALL ENTRIES IN lt_lylcddWHERE aufnr IN r_aufnr发现RESB有420万条记录&#xf…...

ElementUi的Dropdown下拉菜单的详细介绍及使用

Dropdown是 ElementUI 中用于创建下拉菜单项的一个组件&#xff0c;通常el-dropdown-item 包裹在 el-dropdown 组件中使用。以下从功能特性(一些属性及方法)、使用和高级功能(高亮显示&#xff0c;滚动&#xff0c;额外传参数)三个方面进行详细介绍。 一、功能特性 1.触发方式…...

C++类模板编程练习(从基础到进阶)

一、基础模板类设计 泛型盒子&#xff08;Box&#xff09; 实现一个 Box 类模板&#xff0c;存储任意类型的值&#xff0c;并提供获取/修改方法。 Box<int> intBox(42); cout << intBox.get(); // 输出 42 intBox.set(100);类型转换器&#xff08;Converter&…...

基于物联网的智能家居安全防护系统设计

资料下载地址&#xff1a;基于物联网的智能家居安全防护系统仿真&#xff08;仿真代码&#xff09; 目录 一、功能介绍 二、仿真图 三、程序 一、功能介绍 1.单片机和app、OneNet云平台通过wifi进行通信 2.马达模拟家里的用电设备&#xff0c;可通过按键开关 3.可检测用电量…...

android jatpack Compose 多数据源依赖处理:从状态管理到精准更新的架构设计

Android Compose 多接口数据依赖管理&#xff1a;ViewModel 状态共享最佳实践 &#x1f4cc; 问题背景 在 Jetpack Compose 开发中&#xff0c;经常遇到以下场景&#xff1a; 页面由多个独立接口数据组成&#xff08;如 Part1、Part2&#xff09;Part2 的某些 UI 需要依赖 P…...

非序列实现MEMS聚焦功能

zemax非序列模式下有MEMS,但是没有对应的代码。无法修改成自己需要的功能 以下是实现MEMS聚焦功能: #include <windows.h> #include <cmath> #include <stdio.h> #include <string.h> #include <algorithm> #undef max #undef min#define D…...

基于Java,SpringBoot,Vue,HTML宠物相亲配对婚恋系统设计

摘要 基于Java、SpringBoot、Vue和HTML的宠物相亲配对系统设计旨在为宠物主人打造一个高效、智能的宠物社交与配对平台。系统采用前后端分离架构&#xff0c;前端基于Vue.js框架结合HTML/CSS/JavaScript构建动态交互界面&#xff0c;实现宠物信息展示、用户社交互动等功能&…...

AI大模型学习十二:‌尝鲜ubuntu 25.04 桌面版私有化sealos cloud + devbox+minio对象存储测试和漫长修改之路

一、说明 前面已经安装完成&#xff0c;这里我们测试对象存储 AI大模型学习十一&#xff1a;‌尝鲜ubuntu 25.04 桌面版私有化sealos cloud devboxminio&#xff0c;实战运行成功-CSDN博客https://blog.csdn.net/jiangkp/article/details/147424823?spm1011.2415.3001.5331 二…...

身份与访问管理(IAM):零信任架构下的认证授权技术与实战

身份与访问管理&#xff08;IAM&#xff09;&#xff1a;零信任架构下的认证授权技术与实战 在网络安全防御体系中&#xff0c;身份与访问管理&#xff08;Identity and Access Management, IAM&#xff09;是守护数字资产的“数字门禁系统”。随着远程办公和多云架构的普及&a…...

潮了 低配电脑6G显存生成60秒AI视频 本地部署/一键包/云算力部署/批量生成

最近发现了一个让人眼前一亮的工具——FramePack&#xff0c;它能用一块普通的6GB显存笔记本GPU&#xff0c;生成60秒电影级的高清视频画面&#xff0c;效果堪称炸裂&#xff01;那么我们就把他本地部署起来玩一玩、下载离线一键整合包&#xff0c;或者是用云算力快速上手。接下…...

高防IP+CDN组合:电商大促的“双保险”防护方案

引言 电商大促期间&#xff0c;平台流量呈爆发式增长&#xff0c;既要应对瞬时激增的访问量&#xff0c;又要防范黑客趁机发起的DDoS攻击、恶意爬虫等威胁。单一防护手段往往难以兼顾性能与安全&#xff0c;而高防IPCDN组合通过“流量清洗加速分发”的双重机制&#xff0c;为电…...

“IAmMusicFont.com“:将音乐变成视觉

很高兴向大家介绍——IAmMusicFont.com&#xff0c;这是一个专为音乐爱好者和设计师打造的在线字体生成器&#xff0c;灵感源自Playboi Carti 2025年专辑《MUSIC》&#xff08;又称"I Am Music"&#xff09;的标志性封面设计。 什么是"I am music font"&a…...

C++入门(下)

本文为个人学习笔记&#xff0c;如有错误欢迎批评指正&#xff0c;如有侵权&#xff0c;请联系删除。 今日名言&#xff1a; 好运只是个副产品&#xff0c;只有当你不带任何私心杂念&#xff0c;单纯的去做事情时&#xff0c;他才会降临。 上一篇文章我们讲了C入门的一部分内容…...