题解 | #返回产品名称和每一项产品的总订单数#
返回产品名称和每一项产品的总订单数
http://www.nowcoder.com/practice/1c64fd9048364a58a8ffa541720359a4
思路分析
- 首先,产品名称与订单号是1对多的关系,即一个产品可以对应多个订单;
- 需要计算每项产品的总订单数,因此需要根据产品进行分组;
- 之后使用统计函数中的
count
进行求和。所有的统计函数都会忽略NULL
。
第一种写法
select prod_name, count(order_num) orders
from OrderItems o right join Products p using(prod_id)
group by prod_name
order by prod_name;
第二种写法
select prod_name, count(order_num) orders
from Products p left join OrderItems o on p.prod_id=o.prod_id
group by prod_name
order by prod_name;