力扣 SQL 602. 好友申请 II :谁有最多的好友
SQL II 申请 力扣 好友
2023-09-14 09:06:14 时间
题目 : https://leetcode.cn/problems/friend-requests-ii-who-has-the-most-friends/
数据
Create table If Not Exists RequestAccepted (
requester_id int not null comment '发送好友请求ID',
accepter_id int null comment '接收好友ID',
accept_date date null comment '通过的日期'
)
insert into RequestAccepted (requester_id, accepter_id, accept_date) values ('1', '2', '2016/06/03')
insert into RequestAccepted (requester_id, accepter_id, accept_date) values ('1', '3', '2016/06/08')
insert into RequestAccepted (requester_id, accepter_id, accept_date) values ('2', '3', '2016/06/08')
insert into RequestAccepted (requester_id, accepter_id, accept_date) values ('3', '4', '2016/06/09')
需求
查询有最多的好友的人和他拥有的好友数目
查询结果 :
| id | num |
| 3 | 3 |
解决
思路 :
- 求发送好友的总数, 通过时间不能为空
- 求接收好友的总数
- 对俩结果进行水平拼接
- 根据id 进行聚合求和,排序求最高的好友总数
-- 水平拼接发送好友总数,接收好友总数
with t1 as (
select requester_id as id,
count(*) as ct
from RequestAccepted
where accept_date is not null
group by requester_id
union all
select accepter_id as id,
count(*) as ct
from RequestAccepted
where accept_date is not null
group by accepter_id
)
-- 求和,求top1
select id,
sum(ct) as num
from t1
group by id
order by num desc
limit 1;
相关文章
- oracle导出建表sql_Oracle数据库语句汇总
- SQL优化 21 连击
- ORA-13802: failed to purge SQL Tuning Base entry from sql$ ORACLE 报错 故障修复 远程处理
- 关于SQL的几道小题详解(sql进阶)
- Sybase数据库常用sql语言详解数据库
- 一键实现:SQL数据转换到Oracle的神器(sql转oracle工具)
- Oracle锁表SQL: 掌握锁表操作必知要点(oracle锁表sql)
- Linux运行 SQL: 获取自动化数据操作能力(linux执行sql)
- MongoDB实现“SQL NoSQL”合一(mongodb支持sql)
- 语句利用MSSQL执行SQL语句的简单指南(mssql执行sql)
- Oracle与SQL的不同之处(oracle和sql区别)
- 语句深入MySQL:删除外键的完美SQL语句(mysql删除外键sql)
- SQL Server中附件功能的使用示范(sqlserver附件)
- SQL Server软件故障排查方案实践(sqlserver软故障)
- SQL Server使用减法实现计算精确结果(sqlserver 相减)
- SQL Server技术拓展:更高效率实现次方运算(sqlserver 次方)
- 性能报告Oracle季度SQL性能分析报告(oracle 季度sql)
- SQL Server学习指南——获取下载最新资料(sqlserver书下载)
- MySQL中方便的SQL编辑器,提高开发效率(mysql中sql编辑器)
- Oracle中存储SQL脚本文件的方法(oracle保存脚本文件)
- 中的数据使用SQL从Redis中检索数据(使用sql获取redis)
- Oracle SQL在数据库中的应用(oracle中sql应用)
- 深入比较Oracle与SQL的配置技巧(oracle与Sql配置)
- 审查明晰Oracle SQL的利弊(oracle sql审查)
- sql自动增长标识导致导入数据问题的解决方法
- Sql学习第一天——SQL练习题(建表/sql语句)