建立公用表 With
建立公用表 With
1. 介绍
with as 子查询仅执行一次,将结果存储在用户临时表中,提高查询性能,所以适合多次引用的场景
# Write your MySQL query statement below
# 找出那些既没有最多,也没有最少参与者的活动的名字
# Activities 表中的任意活动都有在 Friends 中参与
with a as (select activity,
count(*) amount
from friends
group by activity)
select activity
from a
where amount > (select min(amount) from a )
and amount < (select max(amount) from a)
2. 多个临时表建立在 with 中,用逗号隔开
--- write your code here ---
with a as
(select distinct sender_id, send_to_id, requester_id, accepter_id from FriendRequest f, RequestAccept r where
f.sender_id = r.requester_id and f.send_to_id = r.accepter_id and requester_id is not null),
b as
(select distinct sender_id, send_to_id from FriendRequest)
select round(
(select count(1) from a) / (select count(1) from b), 2
) accept_rate
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix