news 2026/4/28 3:59:15

力扣1355-活动参与者

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
力扣1355-活动参与者

表:Friends

+---------------+---------+ | Column Name | Type | +---------------+---------+ | id | int | | name | varchar | | activity | varchar | +---------------+---------+ id 是朋友的 id,并且在 SQL 中,是该表的主键 name 是朋友的名字 activity 是朋友参加的活动的名字

表:Activities

+---------------+---------+ | Column Name | Type | +---------------+---------+ | id | int | | name | varchar | +---------------+---------+ 在 SQL 中,id 是该表的主键 name 是活动的名字

找出那些既没有最多,也没有最少参与者的活动的名字。

Activities表中的任意活动都有在Friends中参与过。

可以以任何顺序返回结果。

下面是返回结果格式的例子。

示例 1:

输入:Friends 表: +------+--------------+---------------+ | id | name | activity | +------+--------------+---------------+ | 1 | Jonathan D. | Eating | | 2 | Jade W. | Singing | | 3 | Victor J. | Singing | | 4 | Elvis Q. | Eating | | 5 | Daniel A. | Eating | | 6 | Bob B. | Horse Riding | +------+--------------+---------------+ Activities 表: +------+--------------+ | id | name | +------+--------------+ | 1 | Eating | | 2 | Singing | | 3 | Horse Riding | +------+--------------+输出:+--------------+ | activity | +--------------+ | Singing | +--------------+解释:Eating 活动有三个人参加, 是最多人参加的活动 (Jonathan D. , Elvis Q. and Daniel A.) Horse Riding 活动有一个人参加, 是最少人参加的活动 (Bob B.) Singing 活动有两个人参加 (Victor J. and Jade W.)

思路:

1、因为题目要求,求出非最多和最少的活动的名字,可以使用max,min先找出最大和最小值,然后取反;

2,、用窗口函数dense_rank()排序,正序和倒序分别找去排名第一的,然后求 rn != 1。

代码1:

select activity from ( select activity, count(name) cnt, max(count(name)) over () max_cnt, min(count(name)) over () min_cnt from friends group by activity ) t where cnt not in (max_cnt, min_cnt);

代码2:

select activity from ( select activity, dense_rank() over(order by count(id) desc) rn1, dense_rank() over(order by count(id)) rn2 from Friends group by activity ) where rn1 != 1 and rn2 != 1
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/20 7:42:25

BeyondCompare4对比代码太麻烦?让VibeThinker先做逻辑预处理

BeyondCompare4对比代码太麻烦?让VibeThinker先做逻辑预处理 在日常开发中,你是否曾为两段“功能相同但写法迥异”的代码而头疼?明明知道它们都在实现快速排序,可BeyondCompare4却标出几十处红色差异——变量名不同、循环结构不一…

作者头像 李华
网站建设 2026/4/23 16:15:50

蓝绿部署实践:确保线上服务无缝升级

蓝绿部署实践:确保线上服务无缝升级 在今天的AI服务生态中,模型上线早已不再是“打包上传、重启服务”那么简单。尤其当面对像 VibeThinker-1.5B-APP 这类专精于高强度推理任务的语言模型时,任何一次发布失误都可能直接影响用户的解题准确率、…

作者头像 李华
网站建设 2026/4/24 16:54:33

心理咨询管理系统|基于springboot 心理咨询管理系统(源码+数据库+文档)

心理咨询管理系统 目录 基于springboot vue心理咨询管理系统 一、前言 二、系统功能演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取: 基于springboot vue心理咨询管理系统 一、前言 博主介绍&…

作者头像 李华
网站建设 2026/4/25 16:02:22

高校学生选课系统|基于springboot 高校学生选课系统(源码+数据库+文档)

高校学生选课系统 目录 基于springboot vue高校学生选课系统 一、前言 二、系统功能演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取: 基于springboot vue高校学生选课系统 一、前言 博主介绍&…

作者头像 李华
网站建设 2026/4/20 12:05:40

Docker镜像构建加速秘籍(资深架构师十年经验总结)

第一章:Docker镜像构建加速的核心价值在现代软件交付流程中,Docker镜像的构建效率直接影响开发迭代速度与持续集成(CI)流水线的响应能力。构建加速不仅能缩短本地调试周期,还能显著降低CI/CD环境中的资源消耗和等待时间…

作者头像 李华
网站建设 2026/4/27 13:10:50

云端服务与本地授权混合的Kisssoft许可证模式

云端服务与本地授权混合的Kisssoft许可证模式:企业和个人用户的新选择在当今数字化转型加速的时代,软件许可模式正经历着一场深刻的变革。许多用户在使用软件时,常常面临一个困扰:是否应该完全依赖云端订阅,还是继续保…

作者头像 李华