sql 查询 统计每个会员各自订购产品的总数量 面试题 难住了
sql 查询 统计每个会员各自订购产品的总数量 面试题 难住了 呵呵
数据库中有会员表(user_id,user_name),订单信息表(order_id,order_amount,order_time),订单产品表(order_id,goods_id,goods_name,goods_number,price),
会员表与订单信息表用user_id作关联,订单信息表与订单产品表用order_id作关联,现在要生成一个统计表,统计每个会员各自订购产品的总数量
------解决方案--------------------
试试这个:
------解决方案--------------------
一般采用join的查询,会比采用子查询的,效率要高一点。
不过具体还得看,执行计划
------解决方案--------------------
,统计每个会员各自订购产品的总数量 ,还应该按照会员和产品分类统计吧
数据库中有会员表(user_id,user_name),订单信息表(order_id,order_amount,order_time),订单产品表(order_id,goods_id,goods_name,goods_number,price),
会员表与订单信息表用user_id作关联,订单信息表与订单产品表用order_id作关联,现在要生成一个统计表,统计每个会员各自订购产品的总数量
------解决方案--------------------
试试这个:
select user_id,
user_name,
(select SUM(goods_number)
from 订单信息表 b
inner join 订单产品表 c
on b.order_id = c.order_id
where a.user_id = b.user_id) '订购产品的总数量'
from 会员表 a
------解决方案--------------------
一般采用join的查询,会比采用子查询的,效率要高一点。
不过具体还得看,执行计划
------解决方案--------------------
,统计每个会员各自订购产品的总数量 ,还应该按照会员和产品分类统计吧
select A.name, C.goods_name,sum(C.Number) as Qty from ShopUser as A
join ShopOrder B on A.id=B.userid
join ShopGoods C on B.id=C.orderid group by A.name,C.goods_name