发布时间:2026/8/25 14:16:42
力扣高频SQL50题知识点 一、查询select product_id from Products where low_fatsY and recyclableY;select 输出 from 表名where 条件select name from Customer where referee_id ! 2 or referee_id is NULL;对于条件为某一元素为NULL用“元素 is NULL”select name,population,area from World where area 3000000 or population 25000000;select 输出 from 表名 注意输出顺序select author_id as id from Views # 重命名 where author_id viewer_id group by author_id order by id;group by 分组去重order by 升序排列select tweet_id from Tweets where length(content)15;length( ) 表示字符数二、连接1.左连接select EmployeeUNI.unique_id, Employees.name from Employees left join EmployeeUNI on Employees.id EmployeeUNI.id;SELECT ...FROM 表ALEFT JOIN 表B ON 表A.字段 表B.字段;左连接LEFT JOIN左连接以左表LEFT TABLE为基准返回左表中的所有记录右表中匹配的记录如果存在如果右表中没有匹配则返回NULL值2.统计次数select customer_id, count(*) as count_no_trans from visits left join transactions on visits.visit_id transactions.visit_id where transactions.transaction_id is null group by customer_id;select customer_id, count(*) as count_no_trans选择客户ID和统计无交易访问次数count(*)计算符合条件的记录数as count_no_trans给结果列起别名from visits指定主表为visits表包含所有访问记录left join transactions on visits.visit_id transactions.visit_id左连接transactions表连接条件两个表的visit_id相等左连接确保visits表的所有记录都会被保留where transactions.transaction_id is null筛选条件只保留transactions表中没有对应记录的访问即那些访问了购物中心但没有进行交易的记录group by customer_id按客户ID分组对每个客户统计其无交易访问的次数3.自连接自连接T197将同一表自连接两次分别作为今天和昨天使用datediff函数确保日期差为1天datediff函数计算两个日期之间的天数差确保只比较相邻日期比较温度并筛选出更高的记录select w1.id from Weather w1, Weather w2 where datediff (w1.recordDate, w2.recordDate) 1 and w1.Temperature w2.Temperature;自连接T1661将Activity表自连接两次分别作为start和end通过machine_id和process_id匹配同一进程计算时间差并求平均值select a.machine_id, ROUND(AVG(b.timestamp - a.timestamp), 3) as processing_time from Activity a join Activity b on a.machine_id b.machine_id and a.process_id b.process_id and a.activity_type start and b.activity_type end group by a.machine_id;JOIN条件通过JOIN条件匹配同一进程的start和end记录计算时间差1a.machine_id b.machine_id作用确保连接的是同一台机器的记录原因每台机器有独立的进程不同机器的进程ID可能重复示例机器0的进程0与机器1的进程0不会混淆2a.process_id b.process_id作用确保连接的是同一进程的start和end记录原因每个进程有唯一的process_id示例进程0的start记录只与进程0的end记录匹配3a.activity_type ‘start’作用筛选出start类型的记录作为左表原因确保左表只包含开始时间示例只选择start行排除end行4b.activity_type ‘end’作用筛选出end类型的记录作为右表原因确保右表只包含结束时间示例只选择end行排除start行ROUND(..., 3)将平均值四舍五入保留3位小数4.字查询子查询T97通过子查询获取前一天的温度比较当前温度和前一天温度select id from Weather w1 where Temperature ( select Temperature from Weather w2 where datediff(w1.recordDate, w2.recordDate) 1 );子查询T1661select machine_id, ROUND(AVG(end_time - start_time), 3) as processing_time from ( select machine_id, process_id, max(case when activity_type end then timestamp END) as end_time, max(case when activity_type start then timestamp END) as start_time from Activity group by machine_id, process_id ) as process_times group by machine_id;逐行解析1select machine_id, process_id选择机器ID和进程ID作为分组依据每行代表一个独立的进程2max(case when activity_type end then timestamp END) as end_time作用提取每个进程的结束时间戳聚合函数MAX确保同一进程只取一个结束时间条件判断当活动类型为’end’时取timestamp值示例进程0的结束时间1.5203max(case when activity_type start then timestamp END) as start_time条件判断当活动类型为’start’时取timestamp值聚合函数MAX确保同一进程只取一个开始时间作用提取每个进程的开始时间戳示例进程0的开始时间0.712工作原理条件筛选CASE WHEN activity_type end THEN timestamp END只提取活动类型为’end’的时间戳其他情况返回NULL聚合处理MAX(...)从同一进程的所有记录中取最大值由于每个进程只有一个’end’记录实际返回该结束时间NULL值被自动忽略4group by machine_id, process_id分组依据按机器和进程分组作用将同一进程的start和end记录合并为一行结果每个进程一行包含开始和结束时间max函数用于从一组值中找出最大值MAX([ALL | DISTINCT] expression)核心特性1忽略NULL值MAX()自动跳过NULL值无数据时返回NULL2适用数据类型数值型整数、浮点数日期时间型datetime, timestamp字符串型按字典序比较3DISTINCT选项可选参数但通常不使用因为最大值不受重复值影响MAX(DISTINCT column)与MAX(column)结果相同常见用法场景1基础最大值查询SELECT MAX(salary) AS highest_salary FROM employees;2分组最大值最常用SELECT department_id, MAX(salary) AS max_salary FROM employees GROUP BY department_id;3条件聚合高级用法SELECT department_id, MAX(CASE WHEN gender M THEN salary END) AS male_max_salary, MAX(CASE WHEN gender F THEN salary END) AS female_max_salary FROM employees GROUP BY department_id;聚合函数汇总函数作用NULL处理典型场景MAX()最大值忽略找出最高薪资、最新时间MIN()最小值忽略找出最早时间、最低价格AVG()平均值忽略计算平均分数、平均时长SUM()总和忽略计算总销售额、总时长COUNT()计数特殊处理统计记录数量CASE表达式case when condition1 then result1 when condition2 then result2 else default_result end

相关新闻

2026/8/25 14:16:42

day24_jsvmp后两个生成算法

一、在switch中插桩,先看大概日志信息有什么变化! “case”,a[F1],“stack”,Y看见array一直递增!数组变化【视频35分】 我们就知道大概要插桩什么了,比如chartCodeAt,String.FromChartCode,parseInt等等操…

2026/8/25 14:16:42

蓝绿 + 灰度( 容器 )

原生蓝绿:两套完整环境,流量一次性全部切换;风险点:一旦切过去,全部用户都走到新版本,故障爆炸半径是全站。蓝绿 灰度(组合模式):保留蓝、绿两套完整集群,不…

2026/8/25 14:11:42

从单体到微服务:架构演进与SpringCloud全景图

【SpringCloud系列01】从单体到微服务:架构演进与SpringCloud全景图 个人主页:夏天拐跑了西瓜 专栏传送门:《大模型应用开发》、《Spring 生态全家桶体系化实战》 学习方向:Java 后端|AI‑Agent 大模型应用开发爱好者 …

2026/8/25 16:27:12

从UCSC CSE138课程实践分布式系统:Go实现KV存储与Raft共识

分布式系统是构建现代互联网服务、云计算平台和大数据处理框架的核心技术基础,但它的学习曲线往往非常陡峭。很多开发者通过阅读论文或零散的博客入门,容易陷入“知道概念,但不知道如何落地”的困境。UCSC(加州大学圣克鲁兹分校&a…

2026/8/25 16:27:12

斯坦福EE364B凸优化II课程:从次梯度方法到模型预测控制的实践指南

这次我们来看一个来自斯坦福大学的经典课程资源——EE364B凸优化II。这门课程在2008年由Stephen Boyd教授讲授,内容涵盖了从次梯度方法到模型预测控制等高级主题。对于从事优化理论、控制系统、机器学习等领域的研究人员和工程师来说,这是一份极具价值的…

2026/8/25 16:22:12

ASP项目实战:从环境搭建到功能测试的完整指南

这次我们来看一个名为“赛博多娜”的项目,它不是一个AI模型,而是一个用ASP技术实现的、带有“家具装修”主题的Web应用开发周报。从标题和有限的材料来看,这是一个技术分享或项目进度记录,核心是展示如何使用ASP(Activ…

2026/8/25 1:04:19

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/25 11:48:27

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/24 8:17:29

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/25 0:04:14

三步把QQ空间历史说说导出到本地:GetQzonehistory 极简指南

三步把QQ空间历史说说导出到本地:GetQzonehistory 极简指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory Meta Description:GetQzonehistory 是一个QQ空间历史说…

2026/8/25 0:04:14

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

【题目来源】 https://www.luogu.com.cn/problem/P7912 【题目描述】 小熊的水果店里摆放着一排 n 个水果。每个水果只可能是苹果或桔子,从左到右依次用正整数 1,2,…,n 编号。连续排在一起的同一种水果称为一个“块”。小熊要把这一排水果挑到若干个果篮里&#x…

2026/8/24 13:42:17

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/24 18:13:48

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/25 1:08:14

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…