hive实操二统计上传视频最多的用户Top10以及他们上传的观看次数在前20的视频

  • video表结构
    在这里插入图片描述

  • user表结构
    在这里插入图片描述

  • 需求分解

    • 查询上传视频最多的用户top10;
    • 将top10的数据表与video表join,得到上传视频的相关信息;
    • 将上述表信息对view进行排序并取前20;
  • 需求实现

    • 查询上传视频最多的用户top10;
 SELECT 
  videos,uploader 
FROM
  gulivideo_user_orc 
ORDER BY videos DESC 
LIMIT 10 ;
 - [ ] 将top10的数据表与video表join,得到上传视频的相关信息;
SELECT 
  t1.uploader,
  videoid,
  views 
FROM
  gulivideo_orc t2 
  JOIN ()t1 
    ON t2.uploader = t1.uploader ;
 - [ ] 将上述表信息对view进行排序并取前20;
SELECT 
  uploader,
  videoid 
FROM
  t3 
ORDER BY views DESC 
LIMIT 20 ;
  • 最终代码
SELECT 
  uploader,
  videoid,
  views
FROM
  (SELECT 
    t1.uploader,
    videoid,
    views 
  FROM
    gulivideo_orc t2 
    INNER JOIN 
      (SELECT 
        videos,uploader
      FROM
        gulivideo_user_orc 
      ORDER BY videos DESC 
      LIMIT 10) t1 
      ON t2.uploader = t1.uploader) t3 
ORDER BY views DESC 
LIMIT 20 ;
  • 执行效果
    在这里插入图片描述
    在这里插入图片描述
  • 结束
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值