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

输入

输出

sql 复制代码
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;
相关推荐
利刃大大15 分钟前
【动态规划:01背包】01背包详解 && 模板题 && 优化
c++·算法·动态规划·力扣·背包问题
im_AMBER16 分钟前
算法笔记 10
笔记·学习·算法·leetcode
NPE~20 分钟前
[手写系列]Go手写db — — 第七版(实现Disk存储引擎、Docker化支持)
数据库·后端·docker·golang·教程·手写数据库
workflower29 分钟前
FDD与其他方法的相似和区别
数据库·算法·需求分析·个人开发
WeiQ_3 小时前
解决phpstudy 8.x软件中php8.2.9没有redis扩展的问题
数据库·redis·缓存
电鱼智能的电小鱼5 小时前
基于电鱼 AI 工控机的智慧工地视频智能分析方案——边缘端AI检测,实现无人值守下的实时安全预警
网络·人工智能·嵌入式硬件·算法·安全·音视频
孫治AllenSun6 小时前
【算法】图相关算法和递归
windows·python·算法
格图素书7 小时前
数学建模算法案例精讲500篇-【数学建模】DBSCAN聚类算法
算法·数据挖掘·聚类
DashVector8 小时前
向量检索服务 DashVector产品计费
数据库·数据仓库·人工智能·算法·向量检索