题目
在 Facebook 或者 Twitter 这样的社交应用中,人们经常会发好友申请也会收到其他人的好友申请。
RequestAccepted
表:
写一个查询语句,找出拥有最多的好友的人和他拥有的好友数目。
生成的测试用例保证拥有最多好友数目的只有 1 个人。
查询结果格式如下例所示。
示例:
解题思路
前置知识
1.row_number()
这段代码是在SQL中使用的窗口函数(window function)`row_number()`。它的作用是为每个分组(通过`partition by`指定的列)中的每一行分配一个序号。
具体来说,`row_number() over (partition by id)`的意思是,根据`id`列进行分组,并为每个分组中的每一行分配一个序号。这个序号是根据每个分组中的行的顺序依次递增的。
例如,假设有以下数据: