Hive函数笔试题(简单)

1

有如下的用户访问数据

userId

visitDate

visitCount

u01

2017/1/21

5

u02

2017/1/23

6

u03

2017/1/22

8

u04

2017/1/20

3

u01

2017/1/23

6

u01

2017/2/21

8

u02

2017/1/23

6

u01

2017/2/22

4

要求使用SQL统计出每个用户的累积访问次数,如下表所示:

用户id

月份

小计

累积

u01

2017-01

11

11

u01

2017-02

12

23

u02

2017-01

12

12

u03

2017-01

8

8

u04

2017-01

3

3

数据:

u01     2017/1/21       5

u02     2017/1/23       6

u03     2017/1/22       8

u04     2017/1/20       3

u01     2017/1/23       6

u01     2017/2/21       8

u02     2017/1/23       6

u01     2017/2/22       4

参考答案:

2

有50W个京东店铺,每个顾客访客访问任何一个店铺的任何一个商品时都会产生一条访问日志,访问日志存储的表名为Visit,访客的用户id为user_id,被访问的店铺名称为shop,请统计:

  1. 每个店铺的UV(访客数)

Select shop, count(user_id) from visit group by shop;

  1. 每个店铺访问次数top3的访客信息。输出店铺名称、访客id、访问次数

数据:

u1 a

u2 b

u1 b

u1 a

u3 c

u4 b

u1 a

u2 c

u5 b

u4 b

u6 c

u2 c

u1 b

u2 a

u2 a

u3 a

u5 a

u5 a

u5 a

参考答案

-- 第一步:统计每一个店铺每一位顾客的访问次数

select shop, userid, count(*) as visit_count from visit group by shop, userid;



-- 第二步:对统计出来的访问次数排序(每一个店铺中分别排序)并给定编号

select *,

       rank() over(partition by shop order by visit_count desc) as n

from (

    select shop, userid, count(*) as visit_count from visit group by shop, userid

)t1;



-- 第三步:筛选编号<=3的用户信息

select *

from (

    select *,

           rank() over(partition by shop order by visit_count desc) as n

    from (

        select shop, userid, count(*) as visit_count from visit group by shop, userid

    )t1

) t2 where n <= 3;

相关推荐

  1. Hive窗口函数试题(面试题)

    2024-04-03 01:44:02       33 阅读
  2. Day4-Hive直播行业基础试题

    2024-04-03 01:44:02       29 阅读
  3. 前端试题(一)

    2024-04-03 01:44:02       49 阅读
  4. 前端试题(二)

    2024-04-03 01:44:02       55 阅读
  5. 前端试题(一)

    2024-04-03 01:44:02       53 阅读
  6. 前端试题(七)

    2024-04-03 01:44:02       52 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-03 01:44:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-03 01:44:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-03 01:44:02       82 阅读
  4. Python语言-面向对象

    2024-04-03 01:44:02       91 阅读

热门阅读

  1. Linux常用命令2

    2024-04-03 01:44:02       33 阅读
  2. mysql故障及解决分析

    2024-04-03 01:44:02       34 阅读
  3. 多线程常识相关

    2024-04-03 01:44:02       38 阅读
  4. js根据开始和结束时间进行搜索

    2024-04-03 01:44:02       38 阅读
  5. 题目:学习使用auto定义变量的用法

    2024-04-03 01:44:02       38 阅读
  6. os模块篇(六)

    2024-04-03 01:44:02       25 阅读
  7. Python实现逻辑回归(Logistic Regression)

    2024-04-03 01:44:02       35 阅读
  8. 关于矩阵的摄动。

    2024-04-03 01:44:02       33 阅读