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

【LeetCode】高频 SQL 50题 题解

目录

查询

可回收且低脂的产品

寻找用户推荐人

大的国家

文章浏览 I

无效的推文

连接

使用唯一标识码替换员工ID

产品销售分析 I

进店却未进行过交易的顾客

上升的温度

每台机器的进程平均运行时间

员工奖金

学生们参加各科测试的次数

至少有5名直接下属的经理

确认率

聚合函数

有趣的电影

平均售价

项目员工 I

各赛事的用户注册率

查询结果的质量和占比

每月交易 I

即时食物配送 II

游戏玩法分析 IV

排序和分组

每位教师所教授的科目种类的数量

查询近30天活跃用户数

销售分析 III

超过5名学生的课

求关注者的数量

只出现一次的最大数字

买下所有产品的客户

高级查询和连接

每位经理的下属员工数量

员工的直属部门

判断三角形

连续出现的数字

指定日期的产品价格

最后一个能进入巴士的人

按分类统计薪水

子查询

上级经理已离职的公司员工

换座位

电影评分

餐馆营业额变化增长

好友申请 II:谁有最多的好友

2016年的投资

部门工资前三高的所有员工

高级字符串函数

修复表中的名字

患某种疾病的患者

按日期分组销售产品

列出指定时间段内的所有的下单产品

正则表达式 

查找拥有有效邮箱的用户

子句

删除重复的电子邮箱

第二高的薪水


查询

可回收且低脂的产品

1757. 可回收且低脂的产品 - 力扣(LeetCode)

简单查询

select product_id 
from products 
where low_fats='Y'and recyclable='Y';

寻找用户推荐人

584. 寻找用户推荐人 - 力扣(LeetCode)

注意和null值比较需要用is null和is not null

select name 
from customer 
where referee_id !=2 or referee_id is null;

大的国家

595. 大的国家 - 力扣(LeetCode)

简单查询

select name,population,area 
from world 
where area>=3e6or population>=25e6;

文章浏览 I

1148. 文章浏览 I - 力扣(LeetCode)

distinct消除重复,order 默认升序

selectdistinct author_id as id
fromviews
whereauthor_id=viewer_id
order byid;

无效的推文

1683. 无效的推文 - 力扣(LeetCode)

char_length返回字符数,length返回字节数

selecttweet_id
fromtweets
wherechar_length(content)>15;

连接

使用唯一标识码替换员工ID

1378. 使用唯一标识码替换员工ID - 力扣(LeetCode)

左外连接,左表全数据

selectunique_id,name
fromemployees e left join employeeUNI i
one.id=i.id;

using当两个表使用相同名称的列进行连接时

selectunique_id,name
fromemployees  left join employeeUNI using(id);

产品销售分析 I

1068. 产品销售分析 I - 力扣(LeetCode)

左连接

select product_name,year,price
fromsales left join product using(product_id);

进店却未进行过交易的顾客

1581. 进店却未进行过交易的顾客 - 力扣(LeetCode)

左连接,没有交易就是对应交易id为null,按用户id分组统计次数

selectcustomer_id, count(visit_id)as count_no_trans
from visits left join transactions using(visit_id)
wheretransaction_id is null
group bycustomer_id;

上升的温度

197. 上升的温度 - 力扣(LeetCode)

自连接,匹配条件是日期相差一天,筛温度更高的

select w1.id
fromweather w1 join weather w2
ondatediff(w1.recordDate,w2.recordDate)=1
wherew1.temperature>w2.temperature;

每台机器的进程平均运行时间

1661. 每台机器的进程平均运行时间 - 力扣(LeetCode)

为什么这几道题都没有官方解答

小数格式用round,用if取值,如果是开始就减去,如果是结束就加上

selectmachine_id,round(avg(if(activity_type='start',-timestamp,timestamp))*2,3) as processing_time
fromactivity
group bymachine_id;

员工奖金

577. 员工奖金 - 力扣(LeetCode)

左连接,注意null不是0

selectname,bonus
fromemployee left join bonus using(empId)
where bonus<1000 or bonus is null;

学生们参加各科测试的次数

1280. 学生们参加各科测试的次数 - 力扣(LeetCode)

要查询出每个学生参加每一门科目测试的次数,即对象是每个学生和每个科目,所以需要学生和科目先做一个笛卡尔乘积,然后和考试表左连接,按学生科目分组统计考试表中的对应次数

selectstudent_id,student_name,subject_name,count(examinations.student_id)as attended_exams
fromstudents cross join subjects left join examinations using(student_id,subject_name)
group bystudent_id,subject_name
order bystudent_id,subject_name;

至少有5名直接下属的经理

570. 至少有5名直接下属的经理 - 力扣(LeetCode)

自连接,按员工id分组,having用于分组后筛选

select e1.name
from employee e1 join employee e2
one1.id=e2.managerId
group bye1.id
having count(*)>=5;

确认率

1934. 确认率 - 力扣(LeetCode)

左连接按user_id分组,用avg计算,如果确认的为真,那么就是1,否则就是0,没有的就是null变0

selects.user_id,round(ifnull(avg(c.action='confirmed'),0),2) as confirmation_rate
fromsignups s left join confirmations c
on s.user_id=c.user_id
group bys.user_id;

聚合函数

有趣的电影

620. 有趣的电影 - 力扣(LeetCode)

id&1判断奇数,<>不相等

select*
fromcinema
whereid&1 and description <> 'boring'
order byrating desc;

平均售价

1251. 平均售价 - 力扣(LeetCode)

左连接,匹配条件就是id相等并且日期对应,然后分组计算

selectp.product_id,round(ifnull(sum(p.price*u.units)/sum(u.units),0),2) as average_price
fromprices p left join unitsSold u
onp.product_id=u.product_id
andu.purchase_date between p.start_date and p.end_date
group byp.product_id;

项目员工 I

1075. 项目员工 I - 力扣(LeetCode)

按员工id左连接,按项目id分组取工作年限的平均值

selectproject_id,round(avg(experience_years),2) as average_years
fromproject left join employee using(employee_id)
group byproject_id;

各赛事的用户注册率

1633. 各赛事的用户注册率 - 力扣(LeetCode)

用不上连接,用子查询

selectcontest_id,round(count(*)*100/(select count(*)from users),2) percentage
fromregister
group bycontest_id
order bypercentage desc,contest_id;

查询结果的质量和占比

1211. 查询结果的质量和占比 - 力扣(LeetCode)

按query_name分组,统计质量的平均值,统计占比

selectquery_name,round(avg(rating/position),2) quality,round(avg(if(rating<3,1,0))*100,2) poor_query_percentage
fromqueries
group byquery_name;

每月交易 I

1193. 每月交易 I - 力扣(LeetCode)

date_format()函数,注意%Y是2025,而%y是25,%M是英文月份,%m是12

selectdate_format(trans_date,'%Y-%m') month,country,count(*) trans_count,sum(if(state='approved',1,0)) approved_count,sum(amount) trans_total_amount,sum(if(state='approved',amount,0)) approved_total_amount
from transactions
group bymonth,country;

即时食物配送 II

1174. 即时食物配送 II - 力扣(LeetCode)

子查询查找首发订单,然后在首发订单中计数即时订单,注意子查询要同时记录用户id,不然会误判其他用户的首发订单

selectround(avg(if(order_date=customer_pref_delivery_date,1,0))*100,2)as immediate_percentage
fromdelivery 
where(customer_id,order_date) in (select customer_id,min(order_date)fromdeliverygroup bycustomer_id);

游戏玩法分析 IV

550. 游戏玩法分析 IV - 力扣(LeetCode)

用子查询找出有从首次登录连续登录2次的玩家个数,除以总玩家

selectround(count(*)/(selectcount(distinct player_id)fromactivity),2) fraction
fromactivity
where(player_id,date_sub(event_date,interval 1 day)) in (selectplayer_id,min(event_date)fromactivitygroup byplayer_id);

排序和分组

每位教师所教授的科目种类的数量

2356. 每位教师所教授的科目种类的数量 - 力扣(LeetCode)

按教师分组统计唯一科目id

selectteacher_id, count(distinct subject_id) cnt
fromteacher
group byteacher_id;

查询近30天活跃用户数

1141. 查询近30天活跃用户数 - 力扣(LeetCode)

按日期分组,保留合法日期,统计唯一用户数

selectactivity_date day,count(distinct user_id) active_users
fromactivity
group byactivity_date
havingdatediff('2019-07-27',activity_date) between 0 and 29;

销售分析 III

1084. 销售分析 III - 力扣(LeetCode)

销售表左连接产品表,按产品分组,保留合法日期的

selectproduct_id,product_name
fromsales left join product using(product_id)
group byproduct_id
havingmin(sale_date)>='2019-01-01' and max(sale_date)<='2019-03-31';

超过5名学生的课

596. 超过 5 名学生的课 - 力扣(LeetCode)

按课分组,保留行数大于5的

selectclass
fromcourses
group byclass
havingcount(*)>=5;

求关注者的数量

1729. 求关注者的数量 - 力扣(LeetCode)

按用户分组,统计行数,按用户升序

selectuser_id ,count(*) followers_count
fromfollowers
group byuser_id
order byuser_id;

只出现一次的最大数字

619. 只出现一次的最大数字 - 力扣(LeetCode)

先用子查询找出只出现一次的数字,然后找最大值,注意from后面使用子查询需要给子表别名

selectmax(num) num
from(selectnumfrommyNumbersgroup bynumhavingcount(*)=1
) as t;

买下所有产品的客户

1045. 买下所有产品的客户 - 力扣(LeetCode)

按客户分组统计购买的产品数量是否等于所有的产品种类,注意用户可能重复购买

selectcustomer_id
fromcustomer
group bycustomer_id
havingcount(distinct product_key)=(select count(*) from product);

高级查询和连接

每位经理的下属员工数量

1731. 每位经理的下属员工数量 - 力扣(LeetCode)

自己按上级id和员工id内连接,然后按上级id分组,统计行数就是员工数量

selectm.employee_id,m.name,count(*) reports_count,round(avg(e.age)) average_age
fromemployees e join employees m
one.reports_to=m.employee_id
group bye.reports_to
order bym.employee_id;

员工的直属部门

1789. 员工的直属部门 - 力扣(LeetCode)

是Y的或者只有一个的

selectemployee_id,department_id
fromemployee
whereprimary_flag='Y' or employee_id in(selectemployee_idfromemployeegroup byemployee_idhavingcount(*)=1);

判断三角形

610. 判断三角形 - 力扣(LeetCode)

最小的两边之和大于最大边

selectx,y,z,if(x+y+z>2*greatest(x,y,z),'Yes','No') triangle
fromtriangle;

连续出现的数字

180. 连续出现的数字 - 力扣(LeetCode)

官解很无趣没有通用性,下面是deepseek给出的通用解法

如果数字是连续出现的,那么数字的行号和和出现顺序的差值是固定的,按数字和计算的差值分组统计次数

SELECT DISTINCT num AS ConsecutiveNums
FROM (SELECT num,id - ROW_NUMBER() OVER (PARTITION BY num ORDER BY id) AS grpFROM Logs
) t
GROUP BY num, grp
HAVING COUNT(*) >= 3;

指定日期的产品价格

1164. 指定日期的产品价格 - 力扣(LeetCode)

先查出每个产品在指定日期之前的最大日期

如果最大日期为空那么就是10,否则就取对应的价格

selectp1.product_id,ifnull(p2.new_price,10) price 
from(selectdistinct product_idfrom    products
) as p1 left join (selectproduct_id,new_pricefromproductswhere(product_id,change_date) in (selectproduct_id,max(change_date)from productswherechange_date<='2019-08-16'group byproduct_id)
) as p2
using(product_id);

最后一个能进入巴士的人

1204. 最后一个能进入巴士的人 - 力扣(LeetCode)

统计每一个人前面人的总重,保留合适的重量,再按顺序逆序取第一个

selecta.person_name
fromqueue a,queue b
wherea.turn>=b.turn
group bya.person_id
havingsum(b.weight)<=1000
order bya.turn desc
limit 1;

按分类统计薪水

1907. 按分类统计薪水 - 力扣(LeetCode)

用sum统计范围内的个数,再用union合并起来

select'Low Salary' category,sum(income<20000) accounts_count
fromaccounts 
union
select'Average Salary' category,sum(income between 20000 and 50000) accounts_count
fromaccounts 
union
select'High Salary' category,sum(income>50000) accounts_count
fromaccounts;

子查询

上级经理已离职的公司员工

1978. 上级经理已离职的公司员工 - 力扣(LeetCode)

挺直接的

selectemployee_id
fromemployees
wheresalary<30000 and manager_id not in(selectemployee_idfromemployees)
order byemployee_id;

换座位

626. 换座位 - 力扣(LeetCode)

窗口函数lead往后取,lag往前取,需要over定义窗口的范围

lead往后取没有了就默认本值

selectid,if(id%2,lead(student,1,student)over(order by id),lag(student,1)over(order by id)) student
fromseat;

电影评分

1341. 电影评分 - 力扣(LeetCode)

这算两道题,注意用union all连接,如果用union会去掉相同的结果

三张表,都是用来两两连接查询名字的

第一个按用户分组保留数量最多的,第二先筛日期然后按电影分组保留平均分最高的

(selectname results
frommovieRating left join users using(user_id)
group byuser_id
order bycount(*) desc, name
limit 1)
union all
(select title results
frommovieRating left join movies using(movie_id)
wherecreated_at between '2020-02-01' and '2020-02-29'
group bymovie_id
order byavg(rating) desc,title
limit 1);

餐馆营业额变化增长

1321. 餐馆营业额变化增长 - 力扣(LeetCode)

用窗口函数按日期排序每七个算一次总和,最后从第七天开始挑

selectdistinct visited_on,sums amount,round(sums/7,2) average_amount
from(selectvisited_on,sum(amount)over(order by visited_on range interval 6 day preceding) sumsfrom customer
) t
wherevisited_on>= (select min(visited_on) from customer)+6;

好友申请 II:谁有最多的好友

602. 好友申请 II :谁有最多的好友 - 力扣(LeetCode)

将发送和接收合并在一起,统计最多的

selectid,count(*) num
from(selectrequester_id id, accepter_id a_idfromrequestAcceptedunion allselectaccepter_id id, requester_id a_idfromrequestAccepted    
) t
group byid
order bynum desc
limit 1;

2016年的投资

585. 2016年的投资 - 力扣(LeetCode)

顾名思义,两个子查询筛选条件

子查询如果参与from需要加上别名

selectround(sum(tiv_2016),2) tiv_2016
from(select tiv_2016 from insurance iwhere tiv_2015 in(select tiv_2015 from insurance where pid!=i.pid)and (lat,lon) not in(select lat,lon from insurance where pid!=i.pid)
)t;

部门工资前三高的所有员工

185. 部门工资前三高的所有员工 - 力扣(LeetCode)

查出该部门前三高的工资,保留工资在里面的员工

注意这个版本不能在in后面的子查询用limit,所以要套一层

selectd.name department,e.name employee, salary
fromemployee e left join department d
one.departmentId=d.id
wheresalary
in( select * from(select distinct salaryfrom employeewhere departmentId=e.departmentIdorder by salary desc limit 3)t
);

高级字符串函数

修复表中的名字

1667. 修复表中的名字 - 力扣(LeetCode)

调用函数

concat连接字符串

upper变大lower变小

substring提取子串

selectuser_id,concat(upper(substring(name,1,1)),lower(substring(name,2))) name
fromusers
order byuser_id;

患某种疾病的患者

1527. 患某种疾病的患者 - 力扣(LeetCode)

字符串匹配

select*
frompatients
whereconditions like 'diab1%' or conditions like '% diab1%';

按日期分组销售产品

1484. 按日期分组销售产品 - 力扣(LeetCode)

group_concat可以将分组后的数据拼接成字符串

selectsell_date,count(distinct product) num_sold,group_concat(distinct product order by product separator ',') products
fromactivities
group bysell_date
order bysell_date;

列出指定时间段内的所有的下单产品

1327. 列出指定时间段内所有的下单产品 - 力扣(LeetCode)

连接两张表,筛选时间,用产品分组挑总数超过100的

selectproduct_name,sum(unit) unit
fromorders left join products using(product_id)
whereorder_date between '2020-02-01' and '2020-02-29'
group byproduct_id
having unit >=100;

正则表达式 

^:表示一个字符串或行的开头

[a-z]:表示一个字符范围,匹配从 a 到 z 的任何字符

[0-9]:表示一个字符范围,匹配从 0 到 9 的任何字符

[a-zA-Z]:这个变量匹配从 a 到 z 或 A 到 Z 的任何字符。请注意,你可以在方括号内指定的字符范围的数量没有限制,您可以添加想要匹配的其他字符或范围

[^a-z]:这个变量匹配不在 a 到 z 范围内的任何字符。请注意,字符 ^ 用来否定字符范围,它在方括号内的含义与它的方括号外表示开始的含义不同

[a-z]*:表示一个字符范围,匹配从 a 到 z 的任何字符 0 次或多次

[a-z]+:表示一个字符范围,匹配从 a 到 z 的任何字符 1 次或多次

\w :匹配一个字母数字字符(包括下划线)

.:匹配任意一个字符

\.:表示句点字符。请注意,反斜杠用于转义句点字符,因为句点字符在正则表达式中具有特殊含义。还要注意,在许多语言中,你需要转义反斜杠本身,因此需要使用\\.

$:表示一个字符串或行的结尾

查找拥有有效邮箱的用户

1517. 查找拥有有效邮箱的用户 - 力扣(LeetCode)

正则表达式regexp,\\用于表示\

select*
fromusers
wheremail regexp '^[a-zA-Z][\\w.-]*@leetcode\\.com$';

子句

删除重复的电子邮箱

196. 删除重复的电子邮箱 - 力扣(LeetCode)

注意要从数据库中删除,不允许在DELETE语句的子查询中直接引用正在被删除的表,防止在修改表的同时又查询它可能导致的不确定行为

所以要套一层select*from做临时表

delete fromperson
where id not in(select * from(selectmin(id)fromperson pgroup byemail            ) temp);

第二高的薪水

176. 第二高的薪水 - 力扣(LeetCode)

要注意没有需要返回null,因此外面再套一层select

select(select distinctsalaryfromemployeeorder bysalary desclimit 1 offset 1) secondHighestSalary;

相关文章:

【LeetCode】高频 SQL 50题 题解

目录 查询 可回收且低脂的产品 寻找用户推荐人 大的国家 文章浏览 I 无效的推文 连接 使用唯一标识码替换员工ID 产品销售分析 I 进店却未进行过交易的顾客 上升的温度 每台机器的进程平均运行时间 员工奖金 学生们参加各科测试的次数 至少有5名直接下属的经理 …...

基于Qt的app开发第六天

写在前面 博主是一个大一下的计科生&#xff0c;现在正在做C面向对象程序设计的课程设计&#xff0c;具体功能可以看本专栏的第一篇博客。 目前的进度是&#xff1a;配好MySQL驱动->设计完界面->实现各个界面的切换 这一篇博主要初步实现待办板块的功能&#xff0c;即新建…...

剑指大规模 AI 可观测,阿里云 Prometheus 2.0 应运而生

作者&#xff1a;曾庆国&#xff08;悦达&#xff09; Prometheus 大家应该非常熟悉&#xff0c;正文开始前&#xff0c;让我们一起来回顾开源 Prometheus 项目的发展史。Prometheus 最初由 SoundCloud 的工程师 Bjrn Rabehl 和 Julius Volz 于 2012 年开发。当时&#xff0c;…...

阿里云2核2g安装nexus

阿里云2核2g安装nexus # 安装 JDK 1.8 sudo yum install -y java-1.8.0-openjdk-devel# 验证安装 java -version创建运行用户 cd /opt sudo wget https://download.sonatype.com/nexus/3/latest-unix.tar.gz sudo tar -xzf latest-unix.tar.gz sudo mv nexus-3* nexussudo us…...

eFish-SBC-RK3576工控板USB HOST接口USB3.0测试操作指南

本小节特指丝印号为J8的USB HOST接口&#xff0c;本开发板只有两个USB3.0接口&#xff0c;无USB2.0 这里接U盘测试。 在不接入任何USB外设的情况下&#xff0c;先查看/dev目录下是否存在/dev/sd*设备&#xff0c;执行命令&#xff1a; $ ls /dev/sd* 如下图所示&#xff1a; …...

嵌入式软件学习指南:从入门到进阶

嵌入式软件是物联网&#xff08;IoT&#xff09;、汽车电子、智能家居等领域的核心技术之一。它涉及硬件与软件的紧密结合&#xff0c;要求开发者不仅会写代码&#xff0c;还要理解底层硬件的工作原理。本文将带你系统了解嵌入式软件的学习路径、核心知识体系及实用资源推荐。 …...

【论文阅读】Adversarial Training Towards Robust Multimedia Recommender System

Adversarial Training Towards Robust Multimedia Recommender System 题目翻译&#xff1a;面向鲁棒多媒体推荐系统的对抗训练 论文链接&#xff1a;点这里 标签&#xff1a;多媒体推荐、对抗训练、推荐系统鲁棒性 摘要 随着多媒体内容在网络上的普及&#xff0c;迫切需要开…...

转换算子和行动算子的区别

转换算子会从一个已经存在的数据集 (RDD)中生成一个新的数据集 (RDD),比如map就是一个转换算子&#xff0c;它通过映射关系从一个RDD生成了一个新的RDD。 行动算子 (actions): 行动算子在进行数据集计算后会给driver程序返回一个值。 转换算子和行动算子最大的区别&#xff1…...

Selenium的driver.get_url 和 手动输入网址, 并点击的操作,有什么不同?

我在搞爬取的时候&#xff0c;发现有些网站直接用driver.get(url) 跳转到目标特定的网址的时候&#xff0c;会被强制跳转到其他的网址上&#xff0c;但是如果是自己手动&#xff0c;在网址栏那里输入网址&#xff0c;并点回车&#xff0c;却能完成跳转。 这是在使用 Selenium …...

【强化学习】强化学习算法 - 多臂老虎机问题

1、环境/问题介绍 概述&#xff1a;多臂老虎机问题是指&#xff1a;智能体在有限的试验回合 &#x1d447; 内&#xff0c;从 &#x1d43e; 台具有未知奖赏分布的“老虎机”中反复选择一个臂&#xff08;即拉杆&#xff09;&#xff0c;每次拉杆后获得随机奖励&#xff0c;目…...

Spring MVC Controller 方法的返回类型有哪些?

Spring MVC Controller 方法的返回类型非常灵活&#xff0c;可以根据不同的需求返回多种类型的值。Spring MVC 会根据返回值的类型和相关的注解来决定如何处理响应。 以下是一些常见的 Controller 方法返回类型&#xff1a; String: 最常见的类型之一&#xff0c;用于返回逻辑…...

Diamond iO:实用 iO 的第一缕曙光

1. 引言 当前以太坊基金会PSE的Machina iO团队宣布&#xff0c;其已经成功实现了 Diamond iO: A Straightforward Construction of Indistinguishability Obfuscation from Lattices —— 其在2025年2月提出的、结构简单的不可区分混淆&#xff08;iO&#xff09;构造&#xf…...

Spring MVC中跨域问题处理

在Spring MVC中处理跨域问题可以通过以下几种方式实现&#xff0c;确保前后端能够正常通信&#xff1a; 方法一&#xff1a;使用 CrossOrigin 注解 适用于局部控制跨域配置&#xff0c;直接在Controller或方法上添加注解。 示例代码&#xff1a; RestController CrossOrigin…...

Python爬虫(20)Python爬虫数据存储技巧:二进制格式(Pickle/Parquet)性能优化实战

目录 背景介绍一、二进制存储的核心优势二、Python Pickle&#xff1a;轻量级对象序列化1. 基本介绍2. 代码示例3. 性能与局限性 三、Apache Parquet&#xff1a;列式存储的工业级方案1. 基本介绍2. 代码示例&#xff08;使用PyArrow库&#xff09;3. 核心优势 四、性能对比与选…...

MCP系列(一)什么是MCP?

一、MCP 是什么&#xff1a;从 USB-C 到 AI 的「万能接口」哲学 MCP&#xff08;Model Context Protocol&#xff0c;模型上下文协议&#xff09; 是Anthropic于2024年11月推出的AI跨系统交互标准&#xff0c;专为解决LLM&#xff08;大语言模型&#xff09;的「数字失语症」—…...

使用Java NIO 实现一个socket通信框架

使用Java NIO(非阻塞I/O)实现一个Socket通信框架,可以让你构建高性能的网络应用。NIO提供了Channel、Buffer和Selector等核心组件,支持非阻塞模式下的网络编程。下面是一个简单的例子,展示了如何使用Java NIO创建一个基本的服务器端和客户端进行Socket通信。 1.服务器端 …...

Web前端技术栈:从入门到进阶都需要学什么内容

概述 Web前端技术栈&#xff1a;从入门到进阶都需要学什么内容。 1. jQuery&#xff1a;经典高效的DOM操作利器 作为早期前端开发的“瑞士军刀”&#xff0c;jQuery通过简洁的语法和链式调用大幅简化了DOM操作与事件处理。其核心模块如选择器引擎、动画效果和Ajax交互至今仍值…...

Kepware 连接Modbus TCP/IP

Modbus TCP modbus tcp 是modbus协议的一个变种&#xff0c;基于TCP/IP协议栈在以太网上进行通信。Modbus TCP采用客户端-服务器&#xff08;Master-Slave&#xff09;的通信模型。客户端发起请求&#xff0c;服务器响应请求。一个网络中可以有多个客户端和服务器&#xff0c;…...

PyCharm连接WSL2搭建的Python开发环境

目录 一、开启WSL2服务 二、安装Ubuntu 三、安装Anaconda 四、构建Tensorflow_gpu环境 五、PyCharm连接到WSL2环境 使用 PyCharm 连接 WSL2 搭建 Python 开发环境的主要目的是结合 Windows 的易用性和 Linux 的开发优势&#xff0c;提升开发效率和体验。以下是具体原因和优…...

JVM中类加载过程是什么?

引言 在Java程序运行过程中&#xff0c;类的加载是至关重要的环节&#xff0c;它直接关系到程序的执行效率和安全性。类加载不仅仅是简单地将.class文件读取到内存中&#xff0c;而是经历了加载、连接&#xff08;包含验证、准备和解析&#xff09;以及初始化等多个复杂步骤&a…...

JVM中对象的存储

引言 在 Java 虚拟机中&#xff0c;对象的内存布局是一个非常基础且重要的概念。每个 Java 对象在内存中都由三个主要部分构成&#xff1a;对象头&#xff08;Header&#xff09;、实例数据&#xff08;Instance Data&#xff09;和对齐填充&#xff08;Padding&#xff09;。…...

精益数据分析(48/126):UGC商业模式的指标剖析与运营策略

精益数据分析&#xff08;48/126&#xff09;&#xff1a;UGC商业模式的指标剖析与运营策略 在创业和数据分析的学习之旅中&#xff0c;探索不同商业模式的运营奥秘是我们不断前行的动力。今天&#xff0c;依旧怀揣着和大家共同进步的期望&#xff0c;深入研读《精益数据分析》…...

SpringBoot优雅参数检查

SpringBoot优雅参数检查 在 Spring Boot 中&#xff0c;参数验证通常基于 JSR-380&#xff08;Bean Validation 2.0&#xff09;规范&#xff0c;结合 javax.validation&#xff08;或 jakarta.validation&#xff09;和 Hibernate Validator 实现。以下是常用的验证注解及其意…...

(九)PMSM驱动控制学习---分流电阻采样及重构

在电机控制当中&#xff0c;无论是我们的控制或者电机工作情况的检测&#xff0c;都十分依赖于电机三相电流的值&#xff0c; 所以相电流采样再在FOC控制中是一个特别关键的环节。 在前几篇中我们介绍了逆变电路的相关内容&#xff0c;所以在此基础上我们接着说道电流采样。目前…...

医疗人工智能大模型中的关键能力:【中期训练】mid-training

引言 医疗人工智能(AI)领域的快速发展正在重塑医疗保健的未来。从辅助诊断到个性化治疗方案,AI技术已经显示出改变医疗实践的巨大潜力。然而,在将AI技术应用于医疗场景时,我们面临着独特的挑战。医疗数据的复杂性、决策的高风险性以及对可解释性的严格要求,都使得医疗AI…...

Unity垃圾回收(GC)

1.GC的作用&#xff1a;定期释放不再使用的内存空间。 注&#xff1a;C不支持GC&#xff0c;需要手动管理内存&#xff0c;使用new&#xff08;&#xff09;申请内存空间&#xff0c;使用完后通过delete&#xff08;&#xff09;释放掉&#xff0c;但可能出现忘记释放或者指针…...

什么是跨域,如何解决跨域问题

什么是跨域&#xff0c;如何解决跨域问题 一、什么是跨域 跨域是指浏览器出于安全考虑&#xff0c;限制网页脚本访问不同源&#xff08;协议、域名、端口&#xff09;的资源。两个URL的协议、域名或端口任意一个不相同时&#xff0c;就属于不同源&#xff0c;浏览器会阻止脚本…...

JVM的双亲委派模型

引言 Java类加载机制中的双亲委派模型通过层层委托保证了核心类加载器与应用类加载器之间的职责分离和加载安全性&#xff0c;但其单向的委托关系也带来了一些局限性。尤其是在核心类库需要访问或实例化由应用类加载器加载的类时&#xff0c;双亲委派模型无法满足需求&#xf…...

ARCGIS PRO DSK 选择坐标系控件(CoordinateSystemsControl )的调用

在WPF窗体上使用 xml&#xff1a;加入空间命名引用 xmlns:mapping"clr-namespace:ArcGIS.Desktop.Mapping.Controls;assemblyArcGIS.Desktop.Mapping" 在控件区域加入&#xff1a; <mapping:CoordinateSystemsControl x:Name"CoordinateSystemsControl&q…...

一个电平转换电路导致MCU/FPGA通讯波形失真的原因分析

文章目录 前言一、问题描述二、原因分析三、 仿真分析四、 尝试的解决方案总结前言 一、问题描述 一个电平转换电路,800kHz的通讯速率上不去,波形失真,需要分析具体原因。输出波形如下,1码(占空比75%)低于5V,0码(占空比25%)低于4V。,严重失真。 电平转换电路很简单,M…...

不同OS版本中的同一yum源yum list差异排查思路

问题描述&#xff1a; qemu-guest-agent二进制rpm包的yum仓库源和yum源仓库配置文件path_to_yum_conf&#xff0c; 通过yum list --available -c path_to_yum_conf 查询时&#xff0c;不同的OS版本出现了不同的结果 anolis-8无法识别 centos8可以识别 说明&#xff1a; 1 测试…...

Android Studio开发安卓app 设置开机自启

Android Studio开发安卓app 设置开机自启 AndroidManifest.xml增加配置 增加的配置已标记 AndroidManifest.xml完整配置 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/androi…...

全文索引数据库Elasticsearch底层Lucene

Lucene 全文检索的心&#xff0c;天才的想法。 一个高效的&#xff0c;可扩展的&#xff0c;全文检索库。全部用 Java 实现&#xff0c;无须配置。仅支持纯文本文件的索引(Indexing)和搜索(Search)。不负责由其他格式的文件抽取纯文本文件&#xff0c;或从网络中抓取文件的过程…...

互联网大厂Java求职面试:分布式系统中向量数据库与AI应用的融合探索

互联网大厂Java求职面试&#xff1a;分布式系统中向量数据库与AI应用的融合探索 面试开场&#xff1a;技术总监与郑薪苦的“较量” 技术总监&#xff08;以下简称T&#xff09;&#xff1a;郑薪苦先生&#xff0c;请简单介绍一下你在分布式系统设计方面的经验。 郑薪苦&…...

游戏引擎学习第262天:绘制多帧性能分析图

回顾并为今天设定阶段 事情开始录制了&#xff0c;大家好&#xff0c;欢迎来到游戏直播节目。我们正在直播完成游戏的开发工作&#xff0c;目前我们正在做性能分析器&#xff0c;它现在已经非常酷了。我们只是在清理一些界面问题&#xff0c;但它能做的事情真的很厉害。我觉得…...

1、RocketMQ 核心架构拆解

1. 为什么要使用消息队列&#xff1f; 消息队列&#xff08;MQ&#xff09;是分布式系统中不可或缺的中间件&#xff0c;主要解决系统间的解耦、异步和削峰填谷问题。 解耦&#xff1a;生产者和消费者通过消息队列通信&#xff0c;彼此无需直接依赖&#xff0c;极大提升系统灵…...

探索 C++ 语言标准演进:从 C++23 到 C++26 的飞跃

引言 C 作为一门历史悠久且广泛应用的编程语言&#xff0c;其每一次标准的演进都备受开发者关注。从早期的 C98 到如今的 C23&#xff0c;再到令人期待的 C26&#xff0c;每一个版本都为开发者带来了新的特性和改进&#xff0c;推动着软件开发的不断进步。本文将深入探讨 C23 …...

ROBOVERSE:面向可扩展和可泛化机器人学习的统一平台、数据集和基准

25年4月来自UC Berkeley、北大、USC、UMich、UIUC、Stanford、CMU、UCLA 和 北京通用 AI 研究院&#xff08;BIGAI&#xff09;的论文“ROBOVERSE: Towards a Unified Platform, Dataset and Benchmark for Scalable and Generalizable Robot Learning”。 数据扩展和标准化评…...

【Bootstrap V4系列】学习入门教程之 组件-轮播(Carousel)高级用法

【Bootstrap V4系列】学习入门教程之 组件-轮播&#xff08;Carousel&#xff09;高级用法 轮播&#xff08;Carousel&#xff09;高级用法2.5 Crossfade &#xff08;淡入淡出&#xff09;2.6 Individual .carousel-item interval &#xff08;单个轮播项目间隔&#xff09;2.…...

LangChain4j简介

LangChain4j 是什么&#xff1f; The goal of LangChain4j is to simplify integrating LLMs into Java applications. LangChain4j 的目标是简化将 LLMs 集成到 Java 应用程序中。 提供如下能力&#xff1a; ● 统一的 API&#xff1a; LLM 提供商&#xff08;如 OpenAI 或 Go…...

Git 撤销已commit但未push的文件

基础知识&#xff1a;HEAD^ 即上个版本, HEAD~2 即上上个版本, 依此类推… 查看commit日志 git log撤销commit&#xff0c;保留git add git reset --soft HEAD^ #【常用于&#xff1a;commit成功&#xff0c;push失败时的代码恢复】保留工作空间改动代码&#xff0c;撤销com…...

OC语言学习——面向对象(下)

一、OC的包装类 OC提供了NSValue、NSNumber来封装C语言基本类型&#xff08;short、int、float等&#xff09;。 在 Objective-C 中&#xff0c;**包装类&#xff08;Wrapper Classes&#xff09;**是用来把基本数据类型&#xff08;如 int、float、char 等&#xff09;“包装…...

SafeDrive:大语言模型实现自动驾驶汽车知识驱动和数据驱动的风险-敏感决策——论文阅读

《SafeDrive: Knowledge- and Data-Driven Risk-Sensitive Decision-Making for Autonomous Vehicles with Large Language Models》2024年12月发表&#xff0c;来自USC、U Wisconsin、U Michigan、清华大学和香港大学的论文。 自动驾驶汽车&#xff08;AV&#xff09;的最新进…...

什么是先验?(CVPR25)Detail-Preserving Latent Diffusion for Stable Shadow Removal论文阅读

文章目录 先验&#xff08;Prior&#xff09;是什么&#xff1f;1. 先验的数学定义2. 先验在深度生成模型中的角色3. 为什么需要先验&#xff1f;4. 先验的常见类型5. 如何选择或构造先验&#xff1f;6. 小结 先验&#xff08;Prior&#xff09;是什么&#xff1f; 在概率统计…...

【论文阅读】Attentive Collaborative Filtering:

Attentive Collaborative Filtering: Multimedia Recommendation with Item- and Component-Level Attention Attentive Collaborative Filtering (ACF)、隐式反馈推荐、注意力机制、贝叶斯个性化排序 标题翻译&#xff1a;注意力协同过滤&#xff1a;基于项目和组件级注意力的…...

如何使用极狐GitLab 软件包仓库功能托管 maven?

极狐GitLab 是 GitLab 在中国的发行版&#xff0c;关于中文参考文档和资料有&#xff1a; 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitLab 官网 软件包库中的 Maven 包 (BASIC ALL) 在项目的软件包库中发布 Maven 产物。然后&#xff0c;在需要将它们用作依赖项时安装它…...

Notion Windows桌面端快捷键详解

通用导航 这些快捷键帮助用户在 Notion 的界面中快速移动。 打开 Notion&#xff1a;Ctrl T 打开一个新的 Notion 窗口或标签页&#xff0c;方便快速进入工作空间。返回上一页&#xff1a;Ctrl [ 导航回之前查看的页面。前进到下一页&#xff1a;Ctrl ] 跳转到导航历史中的…...

企业智能化第一步:用「Deepseek+自动化」打造企业资源管理的智能中枢

随着Deepseek乃至AI人工智能技术在企业中得到了广泛的关注和使用&#xff0c;多数企业开始了AI探索之旅&#xff0c;迅易科技也不例外&#xff0c;且在不断地实践中强化了AI智能应用创新的强大能力。 为解决企业知识管理碎片化、提高内部工作效率等问题&#xff0c;迅易将目光放…...

GoFly企业版框架升级2.6.6版本说明(框架在2025-05-06发布了)

前端框架升级说明&#xff1a; 1.vue版本升级到^3.5.4 把"vue": "^3.2.40",升级到"vue": "^3.5.4"&#xff0c;新版插件需要时useTemplateRef,所以框架就对齐进行升级。 2.ArcoDesign升级到2.57.0&#xff08;目前最新2025-02-10&a…...

LeapVAD:通过认知感知和 Dual-Process 思维实现自动驾驶飞跃——论文阅读

《LeapVAD: A Leap in Autonomous Driving via Cognitive Perception and Dual-Process Thinking》2025年1月发表&#xff0c;来自浙江大学、上海AI实验室、慕尼黑工大、同济大学和中科大的论文。 尽管自动驾驶技术取得了显著进步&#xff0c;但由于推理能力有限&#xff0c;数…...