hivesql与业务解决思路

查看每个城市每天完成订单数,取消订单数,下单订单数,下单用户数

select 
	city_id,
	sum(case when order_status=5 then 1 else 0 end) as cnt_ord_succ_d, 
	sum(case when order_status=3 then 1 else 0 end) as cnt_ord_cacel_d, 
	sum(1) as cnt_ord_d, 
	count(distinct CUST_ID) as cnt_ord_user //用户ID去重 
FROM 
	dw.dw_order 
WHERE 
	dt='${day_01}' 
group by 
	city_id;

获取一天所在的自然周

(但是这样比较费时间,如果有时间维表,直接用时间维表的话更方便,但是用时间维表的时候,要清楚每一个字段的含义和用法,这样在使用的时候,可以直接避免冗余的操作)

select 
	concat(
		date_add(
			statis_day,
			-pmod(
				datediff(    --ds 是星期几
					statis_day,
					'20100104'
				), 
				7
	    	)
		), 
	    '~'
		,date_add(
			statis_day,
            6-pmod(
			    datediff(    --de 是星期几
			        statis_day,
			        '20100104'
		       
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值