窗口函数业务场景应用-滴滴打车(各城市最大同时等车人数)

本文探讨窗口函数在SQL中的应用,特别是在分析滴滴打车数据时如何找出各城市最大同时等车人数。文章介绍了窗口函数的语法、主要作用、类别,并通过实例展示了如何利用窗口函数进行累计求和,从而计算出每个城市每日同时等待的最大人数。
摘要由CSDN通过智能技术生成

目录

窗口函数是什么

1. 语法

2. 主要作用

3. 类别

4. 窗口函数的神奇之处

各城市最大同时等车人数

1. 题目要求

2. 解题思路

3. 最终代码


窗口函数是什么

这篇文章讲的太好了,全面且清晰,讲述窗口函数是什么:通俗易懂的学会:SQL窗口函数 - 知乎

这里再在上述文章基础上总结一下:

1. 语法

<窗口函数> over (partition by <用于分组的列名> order by <用于排序的列名>)

2. 主要作用

在每组内排名;累计求和;累计求均值;找组内最大或最小值;

3. 类别

<窗口函数>的位置,可以放两种函数:

(1)专用窗口函数:比如rank, dense_rank, row_number等

(2)聚合函数:比如sum, avg, min, max, count等

4. 窗口函数的神奇之处

(1)可以同时实现group by 和 order by的功能,且不会减少行数(group by则会将每个类别减少至一行)

(2)方便得到并列排名(若有三人并列第二名,则以下三种窗口函数会得到这样的结果:rank: 1,2,2,2,5.    dense_rank: 1,2,2,2,3.    row_number: 1,2,3,4,5)

具体讲解还是看上面的知乎文章吧,讲的特别清晰!

下面我们来通过下面的实际业务场景例子(摘自牛客网: https://www.nowcoder.com/practice/f301eccab83c42ab8dab80f28a1eef98),说明一下窗口函数的其中一个重要应用,即:通过累计求和,得到‘同时做某事’的人数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值