一天一道Sql题(day02)
返回每个顾客不同订单的总金额_牛客题霸_牛客网
思路:本题要求每个客户的下单总额,下单总额只需OrderItems一张表即可求出,而且Orders表中一个客户对应一个order_num,相对比较简单。
对OrderItems根据order_num进行分组,求出每个order_num对应的总金额即(sum(item_price*quantity)) total_ordered。查询 order_num,total_ordered两个字段作为mytable。
上述Orders表中一个客户对应一个order_num。所以用Orders表与mytable通过order_num进行左连接,去掉mytable中多余的数据。连接后查询cust_id和total_ordered即可。
sql:
select o.cust_id,mytable.total_ordered
from Orders o left join
(select order_num,(sum(item_price*quantity)) total_ordered from OrderItems group by order_num) mytable
on o.order_num=mytable.order_num
order by total_ordered desc
思路或sql有误可在评论区指正哦~~~