【力扣SQL】几个常见SQL题

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

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

Department:id(主键)、name

出每个部门中薪资最高的员工:Department.nameEmployee.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
相关推荐
INGNIGHT4 小时前
270 · 电话号码的字母组合II(Trie)
linux·算法
2401_839080544 小时前
C++常见八股
数据结构·c++·算法
青山是哪个青山4 小时前
LeetCode 188:买卖股票的最佳时机 IV
算法
mikuyyds5 小时前
geo-toolbox 插件算法解析:RUSLE 与 MUSLE 的工程化落地
算法·rust·gis
Tisfy5 小时前
LeetCode 3498.字符串的反转度:一次遍历
leetcode·字符串·题解·遍历
a187927218315 小时前
【算法】树(二):队列与祖先——BFS 骨架三配件、短路透传与合流
算法·leetcode·二叉树··bfs·算法讲解·树遍历
syagain_zsx5 小时前
算法基础篇 · 03 枚举(C++ 题解)
c++·算法·二进制·枚举
weixin_307779136 小时前
C++代码实现MATLAB中的ode23tb函数功能
开发语言·c++·算法·matlab
我是章汕呐6 小时前
地级市能源消耗量及消耗强度数据【2006-2023年】平衡面板
人工智能·经验分享·算法·回归
charliejohn7 小时前
计算机考研 408 数据结构 堆的插入与删除 堆排序
算法