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;
相关推荐
好奇的菜鸟2 小时前
如何在IntelliJ IDEA中设置数据库连接全局共享
java·数据库·intellij-idea
tan180°2 小时前
MySQL表的操作(3)
linux·数据库·c++·vscode·后端·mysql
满昕欢喜2 小时前
SQL Server从入门到项目实践(超值版)读书笔记 20
数据库·sql·sqlserver
大千AI助手3 小时前
DTW模版匹配:弹性对齐的时间序列相似度度量算法
人工智能·算法·机器学习·数据挖掘·模版匹配·dtw模版匹配
Hello.Reader4 小时前
Redis 延迟排查与优化全攻略
数据库·redis·缓存
YuTaoShao4 小时前
【LeetCode 热题 100】48. 旋转图像——转置+水平翻转
java·算法·leetcode·职场和发展
生态遥感监测笔记4 小时前
GEE利用已有土地利用数据选取样本点并进行分类
人工智能·算法·机器学习·分类·数据挖掘
简佐义的博客5 小时前
破解非模式物种GO/KEGG注释难题
开发语言·数据库·后端·oracle·golang
爬山算法5 小时前
MySQL(116)如何监控负载均衡状态?
数据库·mysql·负载均衡