大数跨境
0
0

利用SQL来计算最后一个能进电梯的人

利用SQL来计算最后一个能进电梯的人 三石大数据
2025-11-05
0

推荐阅读文章列表

2025最新大数据开发面试笔记V7.0——试读

简历指导套餐4.0——对标大厂的PB级数仓项目

没有实习经历,还有机会进大厂吗

SQL题目

有一张用户乘电梯表 dwd_elevator_user_di 包括字段:uid(用户id)、weight(体重kg)、num(排队的序号)

问题:已知电梯最大载重量不超过600KG,计算最后一个能进电梯的人

答案解析

思路分析

  • 题目比较容易理解,就是让用户按照顺序进入电梯,需保证总重量不能超过600KG,找到最后一个进入电梯的人
  • 我们可以按照进入电梯的顺序进行排序,对用户的体重进行累加,当总量超过600KG时,前一个人即为最后一个进入电梯的人;如果总量始终没有超过600KG,那么最大的序号即为最后一个进入电梯的人

具体代码


select uid
from (
        select
                uid, 
                weight, 
                num
                sum(weight) over(orderbynumas total_weight 
        from dwd_elevator_user_di
) t
where total_weight <= 600
orderbynumdesc
limit1
;

写在最后

V6.0笔记获取方式

公众号回复:大数据面试笔记

【声明】内容源于网络
0
0
三石大数据
专注于大数据开发相关技术以及面试经验分享
内容 205
粉丝 0
三石大数据 专注于大数据开发相关技术以及面试经验分享
总阅读11
粉丝0
内容205