题解 | #返回每个顾客不同订单的总金额#(这样或许才对?)

返回每个顾客不同订单的总金额

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

SELECT cust_id, 
       SUM((SELECT SUM(quantity*item_price) # 新增SUM
        FROM OrderItems
        WHERE OrderItems.order_num = Orders.order_num)) AS total_ordered
FROM Orders
GROUP BY cust_id # 新增
ORDER BY total_ordered DESC;
/*
SELECT cust_id, 
       (SELECT SUM(quantity*item_price)
        FROM OrderItems
        WHERE OrderItems.order_num = Orders.order_num) AS total_ordered
FROM Orders
ORDER BY total_ordered DESC;
 # 这种做法,只是统计了表中的每一行顾客对应订单的总金额 没有考虑到多行的顾客可能是一样的(比如题目例子,有两个cust1(当然,题目例子答案的第二个cust2应该是cust1))
*/

应该在热评的基础上修改一下,使用分组查询,考虑顾客id可能一样的情况(题目例子就是)

全部评论

相关推荐

门口唉提是地铁杀:之前b站被一个游戏demo深深的吸引了。看up主页发现是个初创公司,而且还在招人,也是一天60。二面的时候要我做一个登录验证和传输文件两个微服务,做完要我推到github仓库,还要我加上jaeger和一堆运维工具做性能测试并且面试的时候投屏演示。我傻乎乎的做完以后人家跟我说一句现在暂时不招人,1分钱没拿到全是白干
你的秋招第一场笔试是哪家
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

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