当前位置: 首页 > news >正文

leetcode 1355 活动参与者(postgresql)

需求

表: Friends

±--------------±--------+
| Column Name | Type |
±--------------±--------+
| id | int |
| name | varchar |
| activity | varchar |
±--------------±--------+
id 是朋友的 id 和该表的主键
name 是朋友的名字
activity 是朋友参加的活动的名字

表: Activities

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

写一条 SQL 查询那些既没有最多,也没有最少参与者的活动的名字

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.)

输入

在这里插入图片描述

输出

with t1 as (select f.activity, count(1) as cnt
            from Friends f
                     left join activities a on f.activity = a.name
            group by f.activity),
     t2 as (select *,
                   row_number() over (order by cnt)      as rn1,
                   row_number() over (order by cnt desc) as rn2
            from t1)
select activity
from t2
where rn1!=1 and rn2!=1;

在这里插入图片描述

相关文章:

  • 会声会影色彩校正在哪里 会声会影色彩素材栏在哪 会声会影中文免费版下载
  • 谷歌学术内容爬取
  • 【Python】在 Pandas 中使用 AdaBoost 进行分类
  • Dubbo3 服务原生支持 http 访问,兼具高性能与易用性
  • Java面试----MySQL面试题
  • 【算法】Graham 凸包扫描算法 ( 凸包概念 | 常用的凸包算法 | 角排序 | 叉积 | Python 代码示例 )
  • 正则表达式
  • 第一章 - 第10节- 计算机网络 - 课件
  • Windows OpenVPN的安装之服务器自动启动连接
  • Java17 --- SpringSecurity之OAuth2
  • c、c#、c++嵌入式比较?
  • electron录制工具-视频保存、编辑页面
  • 【Java04】引用变量数组初始化的内存机制
  • STL-常用容器
  • 10.Docker Compose容器编排
  • 学单片机前先学什么?
  • 树莓派4B_OpenCv学习笔记10:调整视频帧大小
  • Ubuntu 22.04 解决 firefox 中文界面乱码
  • 活动集锦 | 英码科技积极参与行业盛会,AI赋能城市数字化转型
  • Optional详解和常用API
  • 伊朗港口爆炸最新事故调查报告公布,2名管理人员被捕
  • 10家A股农商行一季报:净利均实现增长,常熟银行营收、净利增速领跑
  • 人民日报头版头条:青春为中国式现代化挺膺担当
  • 人形机器人,最重要的还是“脑子”
  • 首部关于民营经济发展的基础性法律,有何亮点?专家解读
  • 澎湃读报丨解放日报8个版聚焦:牢记嘱托,砥砺奋进