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

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

http://www.nowcoder.com/practice/4ca4137cb490420cad06d2147ae67456

法一:先统计指定日期后所有的订单数,然后再选其中订单数大于等于2的客户。

SELECT user_id FROM 
(SELECT user_id,COUNT(IF(status='completed',1,NULL)) num FROM order_info 
WHERE product_name IN ('C++','Java','Python') and date>'2025-10-15' GROUP BY user_id) a
WHERE num>=2
ORDER BY user_id;

法二:和法一思路一样,只是不用count(if())语句。

SELECT user_id FROM 
(SELECT user_id,COUNT(*) num FROM order_info 
WHERE product_name IN ('C++','Java','Python') and date>'2025-10-15' and status='completed' 
GROUP BY user_id) a
WHERE num>=2
ORDER BY user_id;

法三:用having函数。group by先分组,同时提取满足having后面条件的组。

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(*)>=2
ORDER BY user_id;
全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 11:22
点赞 评论 收藏
分享
05-27 14:57
西北大学 golang
强大的社畜在走神:27届真不用急,可以搞点项目、竞赛再沉淀沉淀,我大二的时候还在天天打游戏呢
投递华为等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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