1、订单汇总表order_jd存储了所有订单明细信息,一个订单有多个商品,记录多行,提取如下数据:
1)统计2019年7月1日当日有效的下单量
2)2019年7月1日有效下单用户中用户级别为“铜牌会员”的用户数量
3)统计2019年7月各个级别下单金额(amount)最多的前10个用户的订单量和订单金额
有效标志,1:有效;0:无效
用户账号
用户级别=56——铜牌
下单日期
回答:
因为以上题目没有给出表结构,所以需要自己建表,这是我根据题意自己建立的表,也不知道对不对。让我比较纠结的是订单中如果存在部分商品被退货,那么这算不算一条有效订单,还是退货的商品为无效,正常的商品为有效。
我目前是不按照商品是否有效来做,还是以一个订单无论有多少个商品,要不全有效,要不全无效来做。
1)思考思路为,count取有效下单量之和,但是一个订单可能有多条记录,那么就会有多条有效下单的记录,需要根据订单id进行去重再计数
select 下单日期,count(distinct 订单id) as 有效下单量
from order_jd
where 有效标志=1 and 下单日期='2019-07-01'
group by 下单日期
得到如下结果:
2)思考思路为,count获取用户数量,但是用户账号也是存在重复的