hive sql分页

查出线上线下会员支付超过100的

select * from ( 

select a.id,b.mobile,a.totalmoney from  ( SELECT sum(totalmoney) totalmoney, id FROM  
( SELECT t.totalmoney, d.id FROM ( 
SELECT sum(totalmoney) totalmoney, vipcardno FROM  ( 
SELECT DISTINCT vipcardno, orgcode, saleno, totalmoney FROM posdmpayment 
WHERE rjdate >= '2018-06-14' AND rjdate<='2018-07-14' AND vipcardno IS NOT NULL AND vipcardno != 'null' ) 
a GROUP BY vipcardno ) t  
LEFT JOIN def_members d ON t.vipcardno = d.vipcard_no WHERE id IS NOT NULL  
UNION ALL  
SELECT order_amount + order_delivery_fee AS totalmoney, user_id AS id FROM so  
WHERE order_status != 34 AND is_leaf = 1 AND order_payment_status = 3 
AND order_payment_confirm_date >= '2018-06-14 00:00:00'  
AND order_payment_confirm_date < '2018-07-14 00:00:00' ) temp 
GROUP BY id having totalmoney >=100 )a 
left join def_members b on a.id=b.id ) t 
order by totalmoney desc limit 100000 offset 0 

你可能感兴趣的:(hive sql分页)