【Mysql】sql语句查询在2025-10-15以后,同一个用户下。。。
牛客的课程订单分析(二)
http://www.nowcoder.com/questionTerminal/4ca4137cb490420cad06d2147ae67456
题目描述:sql语句查询在2025-10-15以后,同一个用户下单2个以及2个以上状态为购买成功的C++课程或Java课程或Python课程的user_id,并且按照user_id升序排序。
select user_id from order_info where datediff(date,"2025-10-15")>0 and status ="completed" and product_name in("C++","Java","Python") group by user_id having count(id)>=2 order by user_id
按题意一步一步写条件即可。
注意where子句常见错误之一:
where子句中不能使用聚合函数,聚合函数可以在select,having,order by之后出现。
where指定分组之前数据行的条件,having子句用来指定分组之后条件。
所以下面这条语句是错误的:
select user_id from oder_info where datediff(date,"2025-10-15")>0 and count(id)>=2 and status ="completed" and product_name in ("C++","Java","Python") group by user_id order by user_id
牛客题霸-SQL篇【Mysql】 文章被收录于专栏
少壮不努力,老大勤刷题