Hive,表名tb,含有2个字段,uuid是设备号,page是访问的页面名称,一个设备每访问一次页面会往该表插入一条记录,求 既访问过pagea,又访问过pageb的设备总数是多少(是去重后的设备总数)?
最早写的是:
SQL1:
select
count( distinct t1.did)
from
(
select
did
from
tb2
where
page='A'
)tb3
inner join
(
select
did
from
tb2
where
page='B'
)tb4
on tb3.did = tb4.did
如果只查表一次,不要查询两次再join:
hive> desc formatted tmp.test_0630_ord_det ;
OK
# col_name data_type comment
cate_id string 分类id
sale_order_id string 该订单id,一个订单id可含有多个商品,订单id会有重复
item_sku_id string 商品sku
item_sku_name string 商品名称
sale_price double 本次购买该商品单价
sale_qtty bigint