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

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

https://www.nowcoder.com/practice/d6f4a37f966145da8900ba9edcc4c068

订单表里设备有编码0,对应的正好是团购,设备表里没有编码0,结果想要显示订单表的全部信息,就要考虑订单表左连接,并且用ifnull函数直接为连接后的null赋值。最后计数用聚合函数+group by,直接分组显示各组计算结果,不用窗口函数的原因是窗口函数保留数据细节,存在重复信息,还要再套一层。。。

SELECT IFNULL(c.name,"GroupBuy") source,COUNT(*) cnt

FROM(

    SELECT *,COUNT(product_name)OVER(PARTITION BY user_id) as nm

    FROM order_info

    WHERE date>"2025-10-15"

    AND product_name IN ("Python","C++","Java")

    AND status="completed")t1

LEFT JOIN client c ON c.id=t1.client_id

WHERE t1.nm>1

GROUP BY c.name

ORDER BY source

全部评论

相关推荐

05-19 16:41
复旦大学 Python
ynq2126:我一直觉得现在考算法题没啥意义 真要选拔人才不如把公司实际项目中遇到的问题当成一系列场景题抛给求职者答 这才是能检测能力的东西
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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