取用户购买的最新时间,套餐,价格等。
由于用户购买的套餐类型多,导致求出来的是各个套餐的最新时间,但是我只要用户购买时间最新的一个套餐。直接select userid,max(time),product from 表 group by userid,product 会出现以上问题。而只是单纯的group by userid 会报错。百度一晚上找到了left outer join的方法。满足了我的需求,以下下是我修改过的代码。
select b.userid,b.last_time,b.service_name,b.product_name,b.pay_price,b.creatdate from
(select userid,max(last_time) as last_time from youboy.yb_crmUser_daily_2 where ds = '${bizDate}' group by userid) a
left outer join
youboy.yb_crmUser_daily_2 b
on (a.userid=b.userid and a.last_time=b.last_time)
where b.ds = '${bizDate}';