题解 | #确定最佳顾客的另一种方式(二)#
确定最佳顾客的另一种方式(二)
http://www.nowcoder.com/practice/b5766f970ae64ac7944f37f5b47107aa
这个题目还可以。
- 使用Orders表和顾客表Customers连接,可以得到每个订单对应得顾客姓名;
- 使用OrderItems表和Orders表连接,可以得到每个订单对应得金额;
- 然后使用group by进行分组,分组依据为顾客姓名;
- 最后对每个顾客的订单金额进行求和,筛选,排序。
select c.cust_name, sum(oi.item_price * oi.quantity) as total_price
from Orders o join Customers c on o.cust_id=c.cust_id
join OrderItems oi on o.order_num=oi.order_num
group by c.cust_name
having total_price >= 1000
order by total_price;
- 注意:从group by字段开始,就可以使用
select
子句里面的别名了哦。