题解 | #牛客的课程订单分析(四)#

牛客的课程订单分析(六)

http://www.nowcoder.com/practice/c5736983c322483e9f269dd23bdf2f6f

 此题用case when 表示name,null
注意表联系需要外连接,保留order_info这一主表,根据位置选择左连接或者右链接
选用窗口函数的好处是可以选择多个字段,如果用count(*)聚合函数,则不可以选择多个字段
SELECT o.id, is_group_buy,  
(case when o.client_id = c.id then name else null end) as client_name from 
client c
right join
(select *,count(*)over(partition by user_id) cnt from order_info 
     where date > '2025-10-15'
    and status = 'completed'
    and product_name in ('C++','Python','Java')
    ) o
on o.client_id = c.id
where o.cnt > 1
ORDER by o.id asc
全部评论

相关推荐

程序员牛肉:可以说含金量不如王者荣耀省标。
点赞 评论 收藏
分享
程序员牛肉:你这其实一点都没包装,标准的流水线产品。 实习现在不一定能解决你的问题,你太浮躁了。你看了多少源码?看了多少技术博客?真的没必要这么浮躁的着急找实习,沉下心来学习
投递实习岗位前的准备
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务