首页 > 其他分享 >1204. 最后一个能进入电梯的人

1204. 最后一个能进入电梯的人

时间:2023-06-30 17:24:17浏览次数:47  
标签:Thomas name person 1204 最后 turn 电梯 id

1204. 最后一个能进入电梯的人

SQL架构

表: Queue

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| person_id   | int     |
| person_name | varchar |
| weight      | int     |
| turn        | int     |
+-------------+---------+
person_id 是这个表的主键。
该表展示了所有等待电梯的人的信息。
表中 person_id 和 turn 列将包含从 1 到 n 的所有数字,其中 n 是表中的行数。

 

有一群人在等着上公共汽车。然而,巴士有1000 公斤的重量限制,所以可能会有一些人不能上。

写一条 SQL 查询语句查找 最后一个 能进入电梯且不超过重量限制的 person_name 。题目确保队列中第一位的人可以进入电梯,不会超重。

查询结果如下所示。

 

示例 1:

输入:
Queue 表
+-----------+-------------------+--------+------+
| person_id | person_name       | weight | turn |
+-----------+-------------------+--------+------+
| 5         | George Washington | 250    | 1    |
| 3         | John Adams        | 350    | 2    |
| 6         | Thomas Jefferson  | 400    | 3    |
| 2         | Will Johnliams    | 200    | 4    |
| 4         | Thomas Jefferson  | 175    | 5    |
| 1         | James Elephant    | 500    | 6    |
+-----------+-------------------+--------+------+
输出:
+-------------------+
| person_name       |
+-------------------+
| Thomas Jefferson  |
+-------------------+
解释:
为了简化,Queue 表按 turn 列由小到大排序。
上例中 George Washington(id 5), John Adams(id 3) 和 Thomas Jefferson(id 6) 将可以进入电梯,因为他们的体重和为 250 + 350 + 400 = 1000。
Thomas Jefferson(id 6) 是最后一个体重合适并进入电梯的人。
select a.person_name
from Queue a,Queue b
where a.turn >= b.turn
group by a.person_id having sum(b.weight)<=1000
order by a.turn desc
limit 1;

 

标签:Thomas,name,person,1204,最后,turn,电梯,id
From: https://www.cnblogs.com/fulaien/p/17517333.html

相关文章

  • sql 怎么去掉最后一个字符
    https://it.cha138.com/tech/show-3207236.html第一种:对于字符串结尾不是空格的情况用Len是可以的(如上):substring(字符串,1,len(字符串)-1)从第一位开始,截取到第n-1位left(字符串,len(字符串)-1) 从左侧截取n-1位但是结尾有空格时得不到正确结果(如下,括号[]不算在字符串内,为了显......
  • sql server 默认时间 创建时间 最后修改时间
      创建时间:将字段设置为datetime类型,并设置默认值为getdate()ALTERTABLE表名ADDcreateTimeSMALLDATETIMEDEFAULT(GETDATE())修改时间:通过触发器,在updateAfter后,使用如下语句实现:updatetableNamesetcolumnName=getdate()WHEREIDIN(SELECTDISTINCTIDFR......
  • React ISR 如何实现 - 最后的 Demo
    之前写了两个demo讲解了如何实现SSR和SSG,今天再写个demo说在ISR如何实现。什么是ISRISR即IncrementalStaticRegeneration增量静态再生,是指在SSG的前提下,可以在收到请求时判定页面是否需要刷新,如果需要则重新构建该页面,这样既拥有了静态页面的优势又可以避免页......
  • 34. 在排序数组中查找元素的第一个和最后一个位置
    给你一个按照非递减顺序排列的整数数组nums,和一个目标值target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值target,返回[-1,-1]。你必须设计并实现时间复杂度为O(logn)的算法解决此问题。示例1:输入:nums=[5,7,7,8,8,10],target=......
  • hive 先生成抽象语法树,在进行逻辑优化,再到屋里计划生成,物理优化,最后再执行
    driver主要的任务是将一条sql语句翻译成物理执行计划,例如一个mapReduce任务       deiver驱动器,词法分析 select(token)from(token)和          语法分析 合并成抽象语法树 语义分析,分解成一个个的查询单元,类似于子查询......
  • 其他——26电梯导航栏
    思路:主要思路就是对滑动事件进行监听。监听到当前滑动到的位置,然后判断当前所在的位置处于哪一块区域。给它addactive的类,当滑走当前区域,就会removeactive类。监听点击事件,其实跟css里的scroll-behavior差不多。点击导航,然后获取点击的href,然后获取要显示的区域的位置,然后......
  • 最后一次Blog
    BLOG: 1.前言:最后几周的PTA难度明显上升,需要设计的类更多,尤其是学生成绩录入系统。还更考察对集合的使用,如Map,Set集合,利用他们自动排序去重的功能,完成题目.难度呈递增趋势。自己还是太菜,许多题目就没有拿到满分。随着本次的博客作业到来也预示着我的本学期的Java课程也......
  • postgresql获取基于当前时间计算的当月第一天,最后一天,下个月的第n天等功能
    问题现象:​今天在项目开发中遇到了一个需求,在编写某个功能时,需要使用到基于某个时间(如当前时间),去获取本月第一天或下个月的第一天的数据.问题分析:通过查询资料可以得知,要实现这个需求并不容易,在sql语句中就能很好的获取到,这里我使用的是postgresql数据库,其他数......
  • CSS中多次指定相同的属性,最后一个属性会覆盖前面的属性
     上面的截图中只有最后一个border有效果。通常为了浏览器的兼容性,我们会选择指定多个相同相同属性。 .wrap{color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;}上面的代码兼容了旧版的safari和chrome浏览器,以及ie浏览器 ......
  • 代码随想录算法训练营第43天 | ● 1049. 最后一块石头的重量 II ● 494. 目标和
     第九章 动态规划 part05●  1049. 最后一块石头的重量 II ●  494. 目标和 ●  474.一和零    详细布置   1049. 最后一块石头的重量 II  本题就和 昨天的 416. 分割等和子集 很像了,可以尝试先自己思考做一做。 视频讲解:https://www......