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

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

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

全部评论

相关推荐

迷茫的大四🐶:那你问他上班之后老实了没
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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