Hive 某个id对特定字段出现2条记录的id ,既访问过pagea,又访问过pageb的设备总数是多少

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
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

二十六画生的博客

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值