订单指标表计算
#!/bin/bash
#======
#dm_b2c_orders_goods.sh 这里用shell来调用SQL
#订单指标表计算
#======
DT=`date -d '-1 day' "+%Y-%m-%d" ` 注意date -d ‘-1 day’表示取前一天
或者sysdate=`date "+%Y-%m-%d"`脚本传参数法
if [$1]; then
DT=$1
fi
SQL="
drop table if exists temp.tmp_dm_user_order_tag_1_"${DT}" ;
create table temp.tmp_dm_user_order_tag_1_"${DT}" as
select
a.user_id,
min(a.order_date)first_order_time,-第一次消费时间
max(a.order_date)last_order_time,-最近一次消费时间
sum(a.dat_30) month1_order_cnt, -近一个月订单数
sum(case
when dat_30=1 then a.order_money --近一个月订金额
end) month1_order_amt,
sum(a.dat_60)month2_order_cnt,
sum(case
when dat_60=1 then a.order_money
end) month2_order_amt,
sum(a.dat_90)month3_order_cnt,
sum(case
when dat_90=1 then a.order_money
end) month3_order_amt,
max(a.order_money)max_order_amt,
min(a.order_money)min_order_a