前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hive常用函数案例实操

Hive常用函数案例实操

作者头像
阿年、嗯啊
发布2022-11-02 18:18:36
9310
发布2022-11-02 18:18:36
举报
文章被收录于专栏:阿年的数据梦

君子之泽,五世而斩💎

目录:

1. NVL:给空字段赋值

2. 分组统计,查出各部门中男女的个数:

3. 行转列:

4. 列转行

5. 综合练习

6. 查询顾客的购买明细及月购买总额

7. 将每个顾客的cost按照日期进行累加

8. 求明细,以及每个月有哪些顾客来过

9. 查询每个顾客上次的购买时间

10. lead(col,n, default_val):某一列往后第n行数据

11. ntile(n): 把数据按行分为n组,返回组号

12. 求前20%的订单数据

13. percent_rank():这条数据在这个数据中的百分之多少,一般也是配合有序窗口使用

14. rank():排序函数(排序相同时会重复,总数不会变)

15. dense_rank()【排序相同时会重复,总数会减少】、row_number()【会根据顺序计算】

16. current_date() 返回当前时间

17. date_add(current_date(),100) 返回当前日期后100天的日期

18. date_sub(current_date(),100) 返回当前日期前100天的日期

19. datediff(date1,date2) 返回两个日期之间的日期差

20. 连续两天购物的人

NVL:给空字段赋值

在这里插入图片描述
在这里插入图片描述

查出各部门中男女的个数:

代码语言:javascript
复制
case when 分组统计
sum(case sex when '男' then 1 else 0 end)
在这里插入图片描述
在这里插入图片描述

行转列:

在这里插入图片描述
在这里插入图片描述

列转行:

代码语言:javascript
复制
固定写法,记住就行:
lateral view
	explode(split(category,',')) tbl as cate;
在这里插入图片描述
在这里插入图片描述

综合练习:

在这里插入图片描述
在这里插入图片描述

sql如下:

在这里插入图片描述
在这里插入图片描述

查询2017年四月份购买过商品的人:

在这里插入图片描述
在这里插入图片描述

查询顾客的购买明细及月购买总额:

在这里插入图片描述
在这里插入图片描述

将每个顾客的cost按照日期进行累加:

在这里插入图片描述
在这里插入图片描述

求明细,以及每个月有哪些顾客来过:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

查询每个顾客上次的购买时间:

代码语言:javascript
复制
lag(col,n,default_val):某一列往前第n行数据,他一般配合有序窗口使用。
在这里插入图片描述
在这里插入图片描述

lead(col,n, default_val):某一列往后第n行数据

在这里插入图片描述
在这里插入图片描述

ntile(n): 把数据按行分为n组,返回组号

在这里插入图片描述
在这里插入图片描述

求前20%的订单数据:

配合ntile()使用

在这里插入图片描述
在这里插入图片描述

percent_rank():这条数据在这个数据中的百分之多少,一般也是配合有序窗口使用

在这里插入图片描述
在这里插入图片描述

rank():排序函数(排序相同时会重复,总数不会变)

在这里插入图片描述
在这里插入图片描述

dense_rank()【排序相同时会重复,总数会减少】 、row_number()【会根据顺序计算】

在这里插入图片描述
在这里插入图片描述

current_date() 返回当前时间

在这里插入图片描述
在这里插入图片描述

date_add(current_date(),100) 返回当前日期后100天的日期

在这里插入图片描述
在这里插入图片描述

date_sub(current_date(),100) 返回当前日期前100天的日期

在这里插入图片描述
在这里插入图片描述

datediff(date1,date2) 返回两个日期之间的日期差

在这里插入图片描述
在这里插入图片描述

连续两天购物的人:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-10-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录:
    • NVL:给空字段赋值
      • 查出各部门中男女的个数:
        • 行转列:
          • 列转行:
            • 综合练习:
              • sql如下:
                • 查询2017年四月份购买过商品的人:
                • 查询顾客的购买明细及月购买总额:
                • 将每个顾客的cost按照日期进行累加:
                • 求明细,以及每个月有哪些顾客来过:
                • 查询每个顾客上次的购买时间:
                • lead(col,n, default_val):某一列往后第n行数据
                • ntile(n): 把数据按行分为n组,返回组号
                • 求前20%的订单数据:
                • percent_rank():这条数据在这个数据中的百分之多少,一般也是配合有序窗口使用
                • rank():排序函数(排序相同时会重复,总数不会变)
                • dense_rank()【排序相同时会重复,总数会减少】 、row_number()【会根据顺序计算】
                • current_date() 返回当前时间
                • date_add(current_date(),100) 返回当前日期后100天的日期
                • date_sub(current_date(),100) 返回当前日期前100天的日期
                • datediff(date1,date2) 返回两个日期之间的日期差
                • 连续两天购物的人:
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档