力扣 SQL题目

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

在这里插入图片描述
公司的主管们感兴趣的是公司每个部门中谁赚的钱最多。一个部门的 高收入者 是指一个员工的工资在该部门的 不同 工资中 排名前三
编写解决方案,找出每个部门中 收入高的员工 。
以 任意顺序 返回结果表。
返回结果格式如下所示。

思路:窗口函数按部门划分并计算出一个部门中员工的工资排名,然后选取该部门前3名进行展示。
select b.name as Department, a.name as Employee, a.salary as Salary from(
    select name,salary,departmentId,dense_rank() over(partition by departmentId order by salary desc) as rk from Employee
) a,Department b where a.rk<4 and a.departmentId=b.id

262. 行程和用户

在这里插入图片描述
取消率 的计算方式如下:(被司机或乘客取消的非禁止用户生成的订单数量) / (非禁止用户生成的订单总数)。

编写解决方案找出 “2013-10-01” 至 “2013-10-03” 期间非禁止用户(乘客和司机都必须未被禁止)的取消率。非禁止用户即 banned 为 No 的用户,禁止用户即 banned 为 Yes 的用户。其中取消率 Cancellation Rate 需要四舍五入保留 两位小数

返回结果表中的数据 无顺序要求 。

思路:关联表找出非禁止的客户和司机的订单,然后使用case when统计取消的订单的平均数。
select a.request_at as Day,round(avg(case when status!='completed' then 1 else 0 end),2) as 'Cancellation Rate'
from Trips a 
join Users b on a.client_id=b.users_id and b.banned='No'
join Users c on a.driver_id=c.users_id and c.banned='No'
where a.request_at between '2013-10-01' and '2013-10-03'
group by a.request_at

相关推荐

  1. sql

    2024-06-17 00:06:05       29 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-17 00:06:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-17 00:06:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-17 00:06:05       82 阅读
  4. Python语言-面向对象

    2024-06-17 00:06:05       91 阅读

热门阅读

  1. 杀戮尖塔游戏

    2024-06-17 00:06:05       29 阅读
  2. Elasticsearch聚合分析:数据汇总与可视化的奥秘

    2024-06-17 00:06:05       31 阅读
  3. Spring Boot顶层接口实现类注入项目的方法

    2024-06-17 00:06:05       33 阅读
  4. 检查固态硬盘的文件系统是否有问题的方法

    2024-06-17 00:06:05       107 阅读
  5. 关于指针的一次错误调用

    2024-06-17 00:06:05       34 阅读
  6. SqlSugar 集成

    2024-06-17 00:06:05       27 阅读
  7. 力扣1482.制作m束花所需的最少时间

    2024-06-17 00:06:05       34 阅读
  8. 记录碰到的json转换异常

    2024-06-17 00:06:05       29 阅读