【力扣SQL】几个常见SQL题

【力扣SQL】184. 部门工资最高的员工

Employee:id(主键)、name、salary、departmentId(外键)

Department:id(主键)、name

出每个部门中薪资最高的员工:Department.name、Employee.name、Salary

sql 复制代码
SELECT
    Department.name AS 'Department',
    Employee.name AS 'Employee',    
    Salary
FROM
    Employee,
    Department
where 
    Employee.DepartmentId = Department.Id
and
    (Employee.DepartmentId , Salary) IN
    (   
        # 每个部门最高薪水:部门id,薪水数
        SELECT DepartmentId, MAX(Salary) as Salary
        FROM Employee
        GROUP BY DepartmentId
    )

【力扣SQL】176. 第二高的薪水

Employee:id(主键)、salary

查询并返回表中第二高的薪水 。如果不存在第二高的薪水,返回 null

sql 复制代码
select
(
    select distinct Salary
    from Employee
    order by Salary desc
    limit 1 
    offset 1
) as SecondHighestSalary

【力扣SQL】178. 分数排名

Scores:id、score

查询并对分数从高到低进行排序。如果两个分数相等,那么两个分数的排名应该相同。在排名相同的分数后,排名数应该是下一个连续的整数。

sql 复制代码
select
  score,
  dense_rank() over (
    order by score desc
  ) as 'rank'
from
  Scores

【力扣SQL】180. 连续出现的数字

Logs:id(主键,自增)、num

找出所有至少连续出现三次的数字。返回的结果表中的数据可以按任意顺序排列。

sql 复制代码
select distinct
    l1.Num as ConsecutiveNums
from
    Logs l1,
    Logs l2,
    Logs l3
where
    l1.Id = l2.Id - 1
    and l2.Id = l3.Id - 1
    and l1.Num = l2.Num
    and l2.Num = l3.Num
相关推荐
罗西的思考3 小时前
【Agentic RL】Dressage Staleness 控制深度分析
人工智能·算法·机器学习
quaer3 小时前
弗洛伊德算法--判圈法寻找环的入口O(n) O(1)
数据结构·算法
文丑颜不良啊4 小时前
LeetCode51~75题目解析
leetcode
高晶5 小时前
无乘法器实现LC二阶滤波器:基于移位运算的快速算法与四种精度推导
算法·设计模式·程序员
ysbfsy5 小时前
大数计算思路
算法
高晶5 小时前
主从自动分配算法:平均值乘以设备数一半的选举基准值解析
算法·设计模式·程序员
阿里云大数据AI技术5 小时前
StarRocks 与 Fluss 用一条 SQL 查实时与历史
人工智能·sql
学电子她就能回来吗5 小时前
LeetCode Hot 100|普通数组专题学习笔记(零基础版)
笔记·算法·leetcode
用户老李5 小时前
反向传播计算梯度举例
算法
niyongsheng5 小时前
多智能体连续时间内路径规划:AA-SIPP(m) 的 Rust 实现与算法
算法·rust·机器人