题解 | #牛客的课程订单分析(二)#
牛客的课程订单分析(二)
http://www.nowcoder.com/practice/4ca4137cb490420cad06d2147ae67456
思路:本题就是前一题的基础上,再添加一个group by 和 having。
但要注意的是: having 用来筛选聚合函数,where 用来筛选非聚合函数
tips: SELECT 语句的处理顺序如下:
- FROM
- ON
- JOIN
- WHERE
- GROUP BY
- WITH CUBE 或 WITH ROLLUP
- HAVING
- SELECT
- DISTINCT
- ORDER BY
- TOP
在本题中,先是在where语句中进行筛选,然后将筛选后的数据通过group by进行分组 ,接着是having对分组后的数据再进行筛选,最后使用order by 进行排序
完整代码:
select user_id
from order_info
where product_name in ('C++', 'Java', 'Python')
and date > '2025-10-15'
and status = 'completed'
group by user_id
having count(user_id) > 1
order by user_id
SQL练习 文章被收录于专栏
已完成牛客的SQL练习。接下来是算法的练习
查看7道真题和解析