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

MYSQL order by , group by练习

一MYSQL执行顺序SQL 语句的逻辑处理顺序如下所示。每个步骤都会生成一个虚拟表作为下一步的输入直到最终返回结果给客户端-1-5。执行顺序子句作用描述1FROM / JOIN确定数据源对指定的表执行笛卡尔积生成初始的虚拟表VT1-1-6-8。2ON应用 ON 条件过滤剔除不满足连接条件的数据生成VT2-1-3。3OUTER JOIN如果使用了外连接如LEFT JOIN会将保留表中未匹配的行添加进来生成VT3-1-3。4WHERE对VT3进行行级过滤根据WHERE条件筛选出满足要求的行生成VT4-3-5-9。5GROUP BY将VT4中的数据按指定列进行分组每一组数据在VT5中合并成一行-3-5-8。6HAVING对分组后的数据VT5进行过滤通常使用聚合函数如COUNT(),SUM()作为条件生成VT6-3-5-9。7SELECT确定最终要返回的列执行列投影、计算表达式或聚合函数的最终计算生成VT7-1-3-8。8DISTINCT如果指定了DISTINCT则对VT7中的数据进行去重生成VT8-1-3。9ORDER BY对VT8的数据按照指定列进行排序生成VT9-1-3-8。10LIMIT / OFFSET最后从VT9中取出指定范围的记录生成最终结果VT10并返回给用户-1-3-8。执行流程详解结合示例为了帮助你更直观地理解我们结合一个具体的例子梳理整个流程。假设我们有以下查询语句sql复制下载SELECT d.dept_name, COUNT(e.id) as emp_count FROM departments d LEFT JOIN employees e ON d.id e.dept_id WHERE d.location 北京 GROUP BY d.dept_name HAVING COUNT(e.id) 5 ORDER BY emp_count DESC LIMIT 10;它的执行过程是这样的FROM / JOIN首先将departments表和employees表进行连接。由于是LEFT JOIN会先生成两个表所有可能组合的笛卡尔积-1-8。ON然后根据ON d.id e.dept_id条件筛选出符合连接条件的行生成一个包含了部门及对应员工信息的中间结果集。对于没有员工的部门员工相关的字段会是NULL-3-5。OUTER JOIN作为左连接它会将左表 (departments) 中在步骤2里被过滤掉的部门即没有任何员工的部门也添加回结果集中补齐NULL值-3。WHERE现在对整个结果集应用WHERE子句只保留d.location 北京的行将其他地区的部门数据全部过滤掉-3-5。GROUP BY将上一步过滤后的数据按照d.dept_name进行分组。每个部门的所有员工会被归入同一组-3-5-8。HAVING对分组后的数据进行过滤。计算每个部门的员工数COUNT(e.id)并只保留那些员工数大于5的部门组-3-5-9。SELECT从最终保留的组中提取我们需要的列部门名称d.dept_name和员工计数COUNT(e.id)并为计数结果设置别名为emp_count-1-3-8。DISTINCT本例中没有使用DISTINCT所以跳过此步骤。ORDER BY将上一步得到的结果按照emp_count的降序 (DESC) 进行排列员工数最多的部门排在最前面-1-3-8。LIMIT最后从排序好的结果集中取出前10条记录作为最终的查询结果返回-1-3-8。需要留意的关键点别名的作用域从上述流程可以看到SELECT子句在第7步才执行。因此在WHERE、GROUP BY中不能使用在SELECT中才定义的列别名-5-6。例如WHERE emp_count 5是错误的因为执行WHERE时emp_count这个别名还未生成。但在HAVING和ORDER BY中由于它们在SELECT之后执行是可以使用别名的-3-5。MySQL 优化器上述是逻辑执行顺序。在实际中MySQL 的优化器可能会为了提高性能而改变实际的物理执行方式如调整表的连接顺序、选择是否使用索引等但最终结果必须与按此逻辑顺序执行的结果一致-4-7-9。二项目练习2.1项目场景假设有一张销售订单表sales包含以下字段id订单唯一IDINTsale_date销售日期DATEproduct_name产品名称VARCHARcategory产品类别VARCHAR如 电子产品、服装amount销售额DECIMAL(10,2)2.2数据CREATE TABLE sales (id INT PRIMARY KEY AUTO_INCREMENT,sale_date DATE NOT NULL,product_name VARCHAR(50) NOT NULL,category VARCHAR(20) NOT NULL,amount DECIMAL(10,2) NOT NULL);INSERT INTO sales (sale_date, product_name, category, amount) VALUES(2023-01-05, 智能手机, 电子产品, 1200.00),(2023-01-07, 笔记本电脑, 电子产品, 3500.00),(2023-01-12, T恤, 服装, 25.00),(2023-01-20, 牛仔裤, 服装, 45.00),(2023-02-03, 智能手机, 电子产品, 1250.00),(2023-02-14, 连衣裙, 服装, 60.00),(2023-02-18, 平板电脑, 电子产品, 800.00),(2023-03-02, 运动鞋, 服装, 90.00),(2023-03-11, 耳机, 电子产品, 50.00),(2023-03-25, 夹克, 服装, 120.00),(2024-01-08, 智能手机, 电子产品, 1300.00),(2024-01-15, 毛衣, 服装, 80.00);需求1按年、月统计每月总销售额并按年份升序、月份升序排列SELECTYEAR(sale_date) AS year,MONTH(sale_date) AS month,SUM(amount) AS total_amountFROM salesGROUP BY year, month -- 多字段分组年份和月份的组合ORDER BY year ASC, month ASC; -- 排序先按年再按月Q1:SELECTYEAR(sale_date) AS year,MONTH(sale_date) AS month,SUM(amount) AS total_amountFROM salesGROUP BY year, month -- 多字段分组年份和月份的组合ORDER BY year ASC, month ASC; -- 排序先按年再按月 分析该sql ,不是order by执行比select早吗为啥group by还能用select中的别名year,month??答在标准 SQL 中GROUP BY 是在 SELECT 之前执行的因此不应该能使用 SELECT 中才定义的别名。但你的 SQL 中写了GROUP BY year, month并且能正常运行这是因为MySQL 对此做了特殊扩展。MySQL 的处理方式MySQL 允许在GROUP BY、HAVING子句中引用SELECT中的别名。当遇到别名时MySQL 会在执行分组之前将别名替换为对应的原始表达式即YEAR(sale_date)和MONTH(sale_date)。也就是说你写的GROUP BY year, month实际被 MySQL 解释为GROUP BY YEAR(sale_date), MONTH(sale_date)。为什么 MySQL 可以这样这是 MySQL 为了开发便利提供的扩展功能其他数据库如 PostgreSQL、Oracle 默认不允许除非设置特殊参数。MySQL 在执行时会先解析 SELECT 列表中的表达式然后检查 GROUP BY 中是否有别名匹配有则替换为原表达式。3. 潜在的问题虽然 MySQL 允许但依赖别名进行分组可能会引起歧义或可移植性问题如果别名与表中的某个列名同名可能会导致意想不到的分组结果例如如果表中有一列也叫yearGROUP BY year可能被解释为按表中的year列分组而不是按YEAR(sale_date)分组实际上 MySQL 会优先选择别名对应的表达式但逻辑复杂。标准 SQL 不允许所以当迁移到其他数据库时这类 SQL 会报错。4. 建议的写法为了代码清晰、可移植、符合标准建议在GROUP BY中直接使用原始表达式而不是别名sql复制下载SELECT YEAR(sale_date) AS year, MONTH(sale_date) AS month, SUM(amount) AS total_amount FROM sales GROUP BY YEAR(sale_date), MONTH(sale_date) ORDER BY year ASC, month ASC;这样既明确又兼容。总结ORDER BY 可以使用别名因为它逻辑上在 SELECT 之后执行标准行为。GROUP BY 在 MySQL 中可以使用别名因为 MySQL 做了特殊扩展将其替换为原始表达式但标准 SQL 不允许。你的 SQL 能正确执行正是利用了 MySQL 的这一特性。需求2按产品类别和年份分组统计每个类别每年的总销售额并按类别名称排序同类别内按年份降序 这句话怎么理解处理******区分group by 和order by的含义SELECTcategory,YEAR(sale_date) AS year,SUM(amount) AS yearly_salesFROM salesGROUP BY category, yearORDER BY category ASC, year DESC;需求3找出每年销售额最高的产品类别仅显示年份、类别、该类别当年总销售额提示可以先按年份和类别分组计算年销售额再使用窗口函数或子查询筛选出每年第一名。这里给出两种方法。SELECTYEAR(sale_date) AS year,category,SUM(amount) AS totalFROM salesGROUP BY year, categoryHAVING SUM(amount) (SELECT MAX(sum_amount)FROM (SELECT YEAR(s2.sale_date) AS y, category, SUM(amount) AS sum_amountFROM sales s2WHERE YEAR(s2.sale_date) YEAR(sales.sale_date)GROUP BY y, category) AS cat_sums)ORDER BY year;需求4: 按产品类别和月份分组统计每个类别每月的销售额并按销售额从高到低排序要求显示类别、月份数字、销售额只保留销售额 100 的记录。select month(sale_date) as month,category,sum(amount) as total_amount from sales sgroup by category ,monthhaving total_amount 100order by total_amount desc需求统计每个产品在每年的销售额并按年份升序、销售额降序排列要求显示产品名称、年份、年销售额。SELECTproduct_name,YEAR(sale_date) AS year,SUM(amount) AS yearly_salesFROM salesGROUP BY product_name, yearORDER BY year ASC, yearly_sales DESC;分析需求11注意在SELECT中出现的非聚合列即YEAR(sale_date)和MONTH(sale_date)必须出现在GROUP BY子句中或者被函数依赖否则在严格 SQL 模式下会报错。此处两者都出现在GROUP BY中符合要求。2GROUP BY子句GROUP BY year, month按照year和month这两个表达式的值进行分组。也就是说将年份相同且月份相同的所有记录归为一组。由于year和month是在SELECT中定义的别名MySQL 允许在GROUP BY中直接使用别名这是 MySQL 的扩展功能。在标准 SQL 中GROUP BY必须使用原始的表达式即GROUP BY YEAR(sale_date), MONTH(sale_date)。分组后每一组会生成一条汇总记录包含该组的年份、月份和总销售额。3ORDER BY子句ORDER BY year ASC, month ASC对最终结果集进行排序。先按年份从小到大升序年份相同的再按月份从小到大升序。同样这里使用了别名year和monthMySQL 也允许在ORDER BY中使用别名。4. 执行顺序逻辑SQL 语句的逻辑执行顺序不是实际物理执行顺序大致如下FROM确定数据源表sales。WHERE如果有过滤行记录本例无。GROUP BY将数据按照YEAR(sale_date)和MONTH(sale_date)的值进行分组。聚合计算对每个分组执行SUM(amount)生成每个组的汇总值。HAVING如果有过滤分组本例无。SELECT计算并输出列包括定义的别名。ORDER BY对最终结果集进行排序。5. 示例数据验证使用题目中提供的示例数据12 条记录执行该查询的结果应为yearmonthtotal_amount202311200.00 3500.00 25.00 45.00 4770.00? 等一下需要仔细核对数据。让我们重新计算2023年1月有4条记录智能手机(1200)、笔记本电脑(3500)、T恤(25)、牛仔裤(45) → 合计47702023年2月有3条智能手机(1250)、连衣裙(60)、平板电脑(800) → 合计21102023年3月有3条运动鞋(90)、耳机(50)、夹克(120) → 合计2602024年1月有2条智能手机(1300)、毛衣(80) → 合计1380所以结果应为yearmonthtotal_amount202314770.00202322110.0020233260.00202411380.00按ORDER BY year ASC, month ASC排序后正好是上述顺序。6. 注意事项与扩展6.1 关于 GROUP BY 中使用别名MySQL 特性MySQL 允许在GROUP BY和ORDER BY中使用列别名这简化了书写。但若要在其他数据库如 PostgreSQL、SQL Server中运行需使用原始表达式GROUP BY YEAR(sale_date), MONTH(sale_date)并且ORDER BY也必须使用表达式或列序号但列序号可移植性差。可移植性建议如果考虑跨数据库兼容应避免在GROUP BY中使用别名。6.2 索引与性能在sale_date字段上建立索引可以对YEAR(sale_date)和MONTH(sale_date)的分组起到一定的帮助但由于使用了函数索引通常无法直接用于分组除非 MySQL 8.0 支持函数索引。更好的做法是添加冗余的年份列和月份列并在这些列上建立联合索引例如sql复制 下载ALTER TABLE sales ADD COLUMN sale_year INT, ADD COLUMN sale_month INT; UPDATE sales SET sale_year YEAR(sale_date), sale_month MONTH(sale_date); CREATE INDEX idx_year_month ON sales(sale_year, sale_month);然后直接GROUP BY sale_year, sale_month并利用索引。6.3 聚合函数与 NULLSUM(amount)会忽略amount为 NULL 的记录。如果某组内所有amount均为 NULL则SUM返回 NULL但通常业务上期望为 0可用IFNULL(SUM(amount), 0)处理。6.4 分组字段的顺序GROUP BY year, month与GROUP BY month, year在逻辑上是等价的都按照这两个列的组合分组但可能影响中间数据的排序如果不指定ORDER BY结果顺序可能不同。本例明确指定了ORDER BY因此分组顺序不影响最终输出。7. 与其他 SQL 的对比在标准 SQL 中相同的查询应写成sql复制下载SELECT YEAR(sale_date) AS sale_year, MONTH(sale_date) AS sale_month, SUM(amount) AS total_amount FROM sales GROUP BY YEAR(sale_date), MONTH(sale_date) ORDER BY sale_year, sale_month;注意ORDER BY中可以使用别名这在标准 SQL 的某些实现中也是允许的如 PostgreSQL 允许但GROUP BY通常不允许。总结这个查询通过多字段分组年、月和聚合函数SUM实现了按月统计销售额的需求并通过ORDER BY保证了结果的规范性。理解其分组原理和 SQL 执行顺序有助于灵活处理类似的多维度统计问题。select执行先于group by ?已思考用时 7 秒我们被问到“select执行先于group by ?”。这是一个关于SQL逻辑执行顺序的问题。需要澄清从逻辑概念层面SELECT子句在GROUP BY之后执行但从语法和语义上SELECT中的别名可以在GROUP BY中使用MySQL特有。我们应该解释逻辑执行顺序并区分标准SQL与MySQL的差异。我们需要用中文回答解释SQL的逻辑执行顺序特别是SELECT和GROUP BY的位置。并说明在标准SQL中GROUP BY在SELECT之前执行逻辑上因此不能在GROUP BY中引用SELECT中的别名而MySQL允许GROUP BY使用别名是因为它会对查询进行重写将别名替换为原始表达式。回答应清晰、准确避免混淆。让我们组织回答简要说明SQL的逻辑处理顺序FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMIT。强调SELECT在GROUP BY之后执行因此GROUP BY不能引用SELECT中定义的别名标准SQL。解释MySQL的扩展允许GROUP BY和ORDER BY使用别名但实际上MySQL在执行时会提前将别名替换为对应表达式使得GROUP BY能够基于原始列或表达式分组。给出示例说明。提醒注意可移植性。我们要回答用户的问题“select执行先于group by ?”直接回答在逻辑执行顺序上SELECT是在GROUP BY之后执行的所以不是先于。但MySQL有扩展允许在GROUP BY中使用SELECT中的别名这是一种语法糖。注意语气要专业且易懂。在 SQL 的逻辑执行顺序中SELECT子句是在GROUP BY之后执行的。也就是说从概念上讲数据库会先根据GROUP BY对数据进行分组然后才计算SELECT中指定的表达式包括聚合函数和别名。因此在标准 SQL 中GROUP BY子句里不能直接引用SELECT中定义的别名因为别名在分组时还不存在。1. SQL 逻辑执行顺序概念层面标准的 SQL 查询逻辑处理顺序如下FROM– 确定数据源表WHERE– 过滤行记录GROUP BY– 将数据分组HAVING– 过滤分组SELECT– 计算选择列表中的表达式包括聚合函数、别名ORDER BY– 对结果集排序LIMIT / OFFSET– 限制输出行数根据这个顺序GROUP BY执行时SELECT尚未计算所以GROUP BY无法引用SELECT中定义的别名。在标准 SQL 中GROUP BY必须使用原始的列名或表达式。2. MySQL 的特殊性允许在 GROUP BY 中使用别名MySQL 对标准 SQL 进行了扩展允许在GROUP BY和ORDER BY中引用SELECT中的别名。例如sql复制下载SELECT YEAR(sale_date) AS yr, SUM(amount) AS total FROM sales GROUP BY yr; -- 这里使用了别名 yr在标准 SQL 中不允许实际上MySQL 在执行查询时会提前将别名替换为对应的表达式即把上面的查询重写为sql复制下载SELECT YEAR(sale_date) AS yr, SUM(amount) AS total FROM sales GROUP BY YEAR(sale_date);这样既保留了别名的便利性又符合分组必须基于原始列或表达式的原则。注意事项这种特性是 MySQL 特有的如果希望编写跨数据库兼容的 SQL应避免在GROUP BY中使用别名。在ORDER BY中使用别名则被更多数据库支持如 PostgreSQL 也允许但标准 SQL 中仍建议使用表达式。3. 示例对比假设有以下数据表salessale_dateamount2023-01-051002023-01-122002023-02-03150标准 SQL 写法sql复制下载SELECT YEAR(sale_date) AS sale_year, SUM(amount) AS total FROM sales GROUP BY YEAR(sale_date) ORDER BY sale_year;MySQL 允许的写法sql复制下载SELECT YEAR(sale_date) AS sale_year, SUM(amount) AS total FROM sales GROUP BY sale_year ORDER BY sale_year;两种写法在 MySQL 中结果相同但后者更简洁。4. 总结逻辑顺序GROUP BY先于SELECT执行因此标准 SQL 不能在GROUP BY中引用SELECT定义的别名。MySQL 扩展出于便利MySQL 允许在GROUP BY和ORDER BY中使用别名实际执行时会自动替换为原始表达式。

相关文章:

MYSQL order by , group by练习

一:MYSQL执行顺序 SQL 语句的逻辑处理顺序如下所示。每个步骤都会生成一个虚拟表,作为下一步的输入,直到最终返回结果给客户端-1-5。 执行顺序子句作用描述1FROM / JOIN确定数据源,对指定的表执行笛卡尔积,生成初始的…...

个人博客地址自测试

1...

超实用机器视觉框架:VS2019 一键编译,开启视觉检测新旅程

机器视觉框架源码vs2019可以直接编译 应用于视觉检测 AOI视觉检测 机械手定位 点胶 插件 激光切割 视觉螺丝 视觉贴合 激光焊接机 视觉裁板仅供学习使用,不提供技术,想所有功能都…...

SEO Machine:解锁高效的SEO内容创作之旅!

SEO Machine:提升内容创造与优化的利器 在当今网络环境中,优质的SEO内容不仅是吸引流量的关键,也是品牌形象和市场竞争力的重要一环。为满足商业需求,SEO Machine应运而生。这是一个专为长格式、SEO优化博客内容创造而设计的工作空间,旨在帮助用户更好地研究、撰写、分析…...

【第三十六周】论文阅读02

文章目录摘要Abstract一、《Nougat: Neural Optical Understanding for Academic Documents》1. 摘要2. 介绍3. 相关工作4. 模型4.1 设置4.2 数据增强5. 数据集5.1 页面拆分5.2 真实标注伪影6. 核心贡献总结二、《A Survey of Token Compression for Efficient Multimodal Larg…...

从零开始写一个微信小程序:完整代码实战指南(入门篇)

引言 在移动互联网时代,微信小程序以其“即用即走”、开发成本低、流量获取易等优势,成为开发者必须掌握的技能之一。本文将带你从零开始,不讲废话,只写代码,完成你的第一个微信小程序。我们将从环境搭建开始&#xf…...

从命令行到认知时代:GitHub 指令使用与自动化工作流深度实践

前言在软件开发的历史中,很少有工具像Git这样深刻地改变了我们协作的方式,也很少有平台像GitHub这样,将代码托管变成了一个集成的社交化开发中心。对于许多开发者而言,与GitHub的交互长期处于一种“分裂”的状态:使用G…...

13.jmeter性能测试高并发及高频率弱压力及持续高并发

高并发同一时间有大量请求或用户访问系统,比如春运抢火车票,抢演唱会门票高并发测试是为了发现系统瓶颈,保证上线稳定,了解系统的最大承载量。同步定时器实现高并发同步定时器实现高并发可测试瞬间高负载,比如秒杀/抢购…...

双馈风电机组并网仿真建模:四机九节点系统中的虚拟惯量与下垂控制技术,超速减载与桨距角控制调频策...

双馈风电机组并网matlab/simulink仿真建模,四机两区域/三机九节点系统,虚拟惯量下垂控制/超速减载/桨距角控制调频,风储联合调频,低电压穿越故障等双馈风电机组并网后的动态特性直接影响电网稳定性。咱们直接上Simulink撸个三机九…...

永磁同步电机死区效应补偿策略研究仿真,该仿真利用已知的死区时间,直接将补偿时间补到三相占空比中...

永磁同步电机死区效应补偿策略研究仿真,该仿真利用已知的死区时间,直接将补偿时间补到三相占空比中,无需知道额外的参数。 采用参考电流判断电流的方向,避免传统根据实际电流判断方向在零电流箝位的误差影响。 该模型所有电机和控…...

光刻机十大核心卡脖子领域:用第一性原理,拆解中国芯片的破局之路

光刻机十大核心卡脖子领域:用第一性原理,拆解中国芯片的破局之路 作者:华夏之光永存 本篇不是民科,不是胡言乱语,光刻机并不难,难的是思维被锁死。等我有空,我会写一百篇落地文章,详…...

核心揭秘:epoll_wait 的数据到底从哪来?

一、 核心揭秘:epoll_wait 的数据到底从哪来? 很多初学者(甚至部分老手)都存在一个致命的认知误区:认为当网络事件发生时,Linux 内核会立刻去分析这个连接,临时拼凑出一个 epoll_event 结构体,然后塞给 epoll_wait。 错!大错特错! 根据笔记提炼,真实的底层流转机…...

导师推荐 8个一键生成论文工具:全领域适配,开题报告+学术论文+毕业论文高效写作测评

在学术研究日益数字化的今天,论文写作已成为高校师生和科研人员日常工作中不可回避的重要环节。然而,面对繁重的写作任务、复杂的文献检索流程以及不断升级的AIGC内容检测机制,许多学者仍深陷效率低下的困境。为了帮助用户更高效地选择适合自…...

windows操作系统上的Java版更新

如何安装 JDK 17 1. 下载 JDK 17 访问 Oracle JDK 17 下载页面 或使用开源的 Adoptium (Eclipse Temurin)。 选择与您操作系统匹配的安装包(Windows x64 MSI 或压缩包)。 2. 安装并配置环境变量 以 Windows 为例: 运行安装程序&#xff…...

用时光本重构工作时间管理:从个人规划到团队协同的全流程方案

矩阵日历 智能分析 团队协同,让时间管理更简单 管理大师杜拉克曾说:“不能管理时间,便什么也不能管理”,这句话道尽了时间管理对于工作的核心意义 —— 时间是世界上最短缺的资源,除非严加管理,否则就会…...

架构不是套娃:为什么简单的代码胜过无脑的层次

在软件开发中,我们常常被教导要“优化架构”、“抽象层次”、“面向未来”。于是,很多人养成了一个习惯:无论功能多简单,先搭几层抽象再说——接口、实现类、工厂、策略、服务层……文件夹层层嵌套,类名整整齐齐&#…...

基于EKF和UKF的电力系统动态状态估计方法验证与实现【有参考文献】(39节点系统为例)

【有参考文献】基于扩展(EKF)和无迹卡尔曼滤波(UKF)的电力系统动态状态估计 该程序对应文章《Power System Dynamic State Estimation Using Extended and Unscented Kalman Filters》,电力系统状态的准确估计对于提高电力系统的可靠性、弹性、安全性和稳定性具有重…...

编程入门指南:从概念到实践

1. 编程入门介绍在现代社会,编程已成为一项重要的技能。这是一门通过代码在机器上创造出动态世界的技术,对于许多人来说,它如同《黑客帝国》中的数字雨般神秘。然而,编程更像是一种特殊的写作艺术。就像作家通过文字创造故事一样&…...

VAE变分自编码器VAE Loss基础数学知识

一、基础数学知识1.1凸函数的定义下面我们要讲到生成模型。首先我们复习一些要用到的数学知识。第一个是凸函数的定义,因为不同教材对于凸函数的定义不同,为了避免混淆,这里我们讨论的是下凸函数,也就是函数曲线向下突出。下凸函数…...

各子群独立进化

【有参考文献】基于并行分布式差分算法的含需求响应家庭微网能量管理 该程序是《Demand Response of Residential Houses Equipped with PV-Battery Systems: An Application Study Using Evolutionary Algorithms》完全复现主要做的是一个家庭微网能量管理系统,考虑…...

LangChain/LangGraph/OpenAI核心概念+实战指南

LangChain/LangGraph/OpenAI核心概念深度拆解(含库关联+完整用法) 一、核心认知重构:从「封装层级」看透所有概念 先建立四层封装模型(这是理解所有概念的核心框架),同时明确各层级与langchain、langgraph、openai、langchain-openai的核心关联: 封装层级 核心目标 代…...

腾讯对OpenClaw技能数据的抓取行为,究竟是符合开源精神的本地镜像还是侵害开发者权益的恶意抄袭?

关于腾讯抓取OpenClaw技能数据这件事,最近在开发者圈子里讨论得挺多。乍一看,这似乎又是一个大厂与小开发者之间的经典矛盾,但仔细琢磨,会发现里面有些细节值得掰开谈谈。 先说说开源精神这件事。开源社区的核心,其实是…...

关于Lambda表达式

以Arrays.sort(intervals, (a, b) -> Integer.compare(a[0], b[0]));为例子 Arrays.sort方法要求第二个参数是Comparator<int[]>&#xff0c;编译器通过(a, b)得知参数类型Comparator<int[]>&#xff0c;会去找这个接口&#xff0c;然后下面只有一个抽象方法com…...

重置root密码重置

root密码也叫做root密码破解重启虚拟机/启动虚拟机&#xff0c;看到如下界面&#xff0c;快速将鼠标点进虚拟机通过上下箭头&#xff0c;选择第二个选项&#xff0c;然后安装屏幕下方的提示按“e”键进入下一个页面&#xff0c;将光标通过向上向下箭头移动到quiet单词后面&…...

三十七选择

主频&#xff08;CPU时钟频率&#xff09;指CPU中门电路的工作频率&#xff0c;它决定着CPU芯片内部数据传输与操作速度快慢。一般而言&#xff0c;主频越高&#xff0c;执行一条指令需要的时间越短MP3是有损压缩的数字音频分组交换也称为包交换。数据包包括头部和有效载荷。一…...

VLANeXt: VLA终极配方,12个维度从零构建高性能VLA-- 2026.2.20 -- 开源

0. 前言 看过非常多的VLA&#xff0c;但是对于其包含的结构和模块并不清晰&#xff0c;其中到底哪个对VLA性能影响最大也有待研究&#xff0c;所以来看看这篇。 论文页 项目页 article{wu2026vlanext,title{VLANeXt: Recipes for Building Strong VLA Models}, author{Xiao-…...

AI智能获客工具哪家强?这3款让你业绩飙升!

在当今数字化时代&#xff0c;AI智能获客工具对于企业的发展至关重要。它能帮助企业高效地找到潜在客户&#xff0c;提升业绩。下面为大家介绍三款颇具实力的AI智能获客工具。多客智能——AI自运转百倍获客体系上海超客多多智能科技有限公司推出的AI自运转百倍获客体系&#xf…...

基于形状的模板匹配,多模板匹配,最大变形匹配,max_deformation,动态链接库,C+...

基于形状的模板匹配&#xff0c;多模板匹配&#xff0c;最大变形匹配&#xff0c;max_deformation&#xff0c;动态链接库&#xff0c;C/C#&#xff0c;32/64位"啪&#xff01;" 螺丝刀重重摔在操作台上&#xff0c;车间主任老张盯着屏幕里歪斜的零件图像直挠头。流水…...

文档检索软件self searcher绿色版下载

兼具本地文件名查找和文件内容查找&#xff0c;相当于everythinganytxt searcher: 通过百度网盘分享的文件&#xff1a;Self-Sea… 链接:https://pan.baidu.com/s/159OrBfTmGO5xO59Fia6Xlg?pwd6sx3 复制这段内容打开「百度网盘APP 即可获取」...

光储直流微电网Simulink仿真模型——独立光伏系统能量管理及最大功率点跟踪

光储直流微电网simulink仿真模型 双向变换器 &#xff0c;独立光伏系统能量管理&#xff0c;最大功率点跟踪mppt 在传统的独立光伏发电系统中&#xff0c;蓄电池直接与直流母线相连接&#xff0c;其充放电电流不能得到有效的控制&#xff0c;当负载突变时&#xff0c;可能导致蓄…...