SQL 79) 同二做法

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

http://www.nowcoder.com/questionTerminal/4ae8cff2505f4d7cb68fb0ec7cf80c57

写的有点复杂...

和78做法类似,但是要列出所有的信息,不能使用group by

先来看条件:
#在2025-10-15以后
#同一个用户下单2个以及2个以上
#状态为购买成功
#C++课程或Java课程或Python课程
#按照order_info的id升序排序

select o.id, o.user_id, o.product_name, o.status, o.client_id, o.date
from order_info o
join
(select id, user_id, product_name, status, client_id, date
from order_info
where date > '2025-10-15'
and status = 'completed'
and product_name in ('C++','Java','Python')
group by user_id
having count(id) > 1)a
on a.user_id = o.user_id
where o.date > '2025-10-15'
and o.status = 'completed'
and o.product_name in ('C++','Java','Python')
order by o.id asc;
SQL 文章被收录于专栏

SQL

全部评论
表连接里面不是还是用了Group by 吗,结果select里面有非聚合字段
1 回复 分享
发布于 2022-07-23 14:35
不可以使用group by
点赞 回复 分享
发布于 2023-07-26 13:55 澳大利亚
答案在牛客后台不能通过诶!a表分组出错了
点赞 回复 分享
发布于 2022-06-24 19:12
a表除了user_id字段其他是不是多余了,条件都没有使用到a表的字段作为条件
点赞 回复 分享
发布于 2021-09-16 11:14

相关推荐

06-20 17:42
东华大学 Java
凉风落木楚山秋:要是在2015,你这简历还可以月入十万,可惜现在是2025,已经跟不上版本了
我的简历长这样
点赞 评论 收藏
分享
06-15 02:05
已编辑
南昌航空大学 数据分析师
Eason三木:你如果想干技术岗,那几个发公众号合唱比赛的经历就去掉,优秀团员去掉,求职没用。然后CET4这种不是奖项,是技能,放到下面的专业技能里或者单独列一个英语能力。 另外好好改改你的排版,首行缩进完全没有必要,行间距好好调调,别让字和标题背景黏在一起,你下面说能做高质量PPT你得展现出来啊,你这简历排版我用PPT做的都能比你做的好。 然后自我评价,你如果要干数据工程师,抗压能力强最起码得有吧。
简历中的项目经历要怎么写
点赞 评论 收藏
分享
评论
14
收藏
分享

创作者周榜

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