1、显示百分比形式

-- 保留小数点后四位 * 100,连接%
concat(round(x/y, 4) * 100, '%')

例:

2、取出日期年月

-- 截取字符串
substr(ord_dt, 1, 6)

例:

3、分组后,从每个组内取出各自的TOP N

row_number() OVER (partition by COL1 order by COL2 desc ) rank

说明: 参考自: https://www.jianshu.com/p/9802f3a035e1

partition by:类似hive的建表,分区的意思;
order by:排序,默认是升序,加desc降序;
rank:表示别名
表示根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的)

例:

SELECT *
FROM
(   SELECT ...,row_number() over (partition by substr(ord_dt, 1, 6) order by COUNT(1) desc ) rankFROM table_nameWHERE ....GROUP by ..., substr(ord_dt, 1, 6),...
) c
WHERE c.rank <= 20
4、将20190410这种格式的日期转换为2019-04-10的格式
-- 先将ord_dt转换为Unix时间戳,再将时间戳秒数转换为指定格式的日期
select from_unixtime(unix_timestamp(ord_dt,'yyyymmdd'),'yyyy-mm-dd');

例:

5、根据2019-04-10这种格式的日期统计该日期是2019年的第几周

weekofyear('2019-04-10');

例:

注意:使用时需要注意跨年的时候有异常,比如20181231是周一,结果会输出1,表示为2019年的第一周

补充(慎用):

当每天都有订单的前提下,按周分组统计并且需要每周的日期范围,可以使用下面方法

-- 取出每周日期范围
concat(MIN(ord_dt), "~", MAX(ord_dt)) AS dt,

在Hive中使用过的函数记录(百分比、截取字符串、分组TOP N、日期转换、日期是第几周)相关推荐

  1. HIve 中 collect_list和collect_set 函数的使用总结

    Hive中collect相关的函数有collect_list和collect_set. 它们都是将分组中的某列转为一个数组返回,collect_list函数不去重而collect_set函数会去重. ...

  2. hive中的UDF 自定义函数 : 如何创建临时/永久函数

    文章目录 一.为什么要使用自定义函数 二.自定义函数的种类 三.创建自定义函数 1.创建一个maven工程(以idea为例) 2.编写方法 要求: 调用函数在输入的字符串之前添加上字符串"H ...

  3. hive中insert插入一条记录报错,跪求高人指点!!!

    问题描述: 在hive中创建数据库和数据表之后,进行insert操作报错. hive (myhive)> insert into stu values (1,"zhangsan&quo ...

  4. substr()函数——mysql:截取字符串子串

    substr()函数:截取字符串子串 1.substr(str,pos); SELECT SUBSTR('2018-08-17',6); 2.substr(str from pos); SELECT ...

  5. hive中的时间处理函数

    更多好的文章就在 blog.haoitsoft.com,请大家多多支持! 日期函数UNIX时间戳转日期函数: from_unixtime语法:   from_unixtime(bigint unixt ...

  6. 大数据之Hive:hive中的cross join函数

    目录 1.简介 2.简单示例 3.实战 需求一: 具体实现 需求二: 具体实现 1.简介 CROSS JOIN是sql中的一种连接方式,区别于内连接和外连接,对于cross join连接来说,其实使用 ...

  7. hive中:row_number()排序函数的使用

    https://blog.csdn.net/javajxz008/article/details/53493509 第一步: select *,row_number() over(distribute ...

  8. JavaScript 中的所有事物都是对象:字符串、数字、数组、日期,等等。朗郎视力保健按摩服务中心,计次卡服务,消费一次扣减一次,记账式的消费卡,只要带手机即可,不用实体卡

    JavaScript 中的对象 在 JavaScript 中,对象是数据(变量),拥有属性和方法. 当您像这样声明一个 JavaScript 变量时: var txt = "Hello&qu ...

  9. Hive中的常用函数

    一.Hive中collect_list和collect_set的区别 二.Hive中四种排序(order by.sort by.distribute by.cluster by) 2.1 order ...

  10. UDF函数在Hive中的使用

    文章目录 UDF介绍 Hive中的内置函数 开发一个UDF函数 ①创建一个普通的maven工程 ②pom文件中添加hive的依赖 ③开发UDF代码 ④打jar包 ⑤jar包上传服务器 Hive中添加U ...

最新文章

  1. ubuntu和windows实现互相之间远程控制
  2. Metasploit运行环境内存不要低于2GB
  3. SAP C4C 和 ERP 中的外部定价模块 - External Pricing原理介绍
  4. 判断一个字符串是否为另外一个字符串旋转之后的字符串。
  5. Transformer 是万能的吗?
  6. Nikitosh 和异或 —— 一道 trie 树的题用可持久化 trie 水 然后翻车了...
  7. webpack入门学习手记(一) 1
  8. 多行日志合并处理的内外存方法
  9. tmux使用(程序员适用)
  10. 《区块链技术指南》电子书推荐!
  11. 全国快递物流查询公司mysql数据库语句
  12. max30102c语言程序,MAX30102基于STM32F103C8T6的程序源码
  13. 华为路由器基本使用命令
  14. 新浪云应用 mysql_云应用开发之新浪SAE读写云端数据库MySQL
  15. win10部署milvus以图搜图2.0
  16. 119 李元翼 梧里 徒死無益
  17. 智能驾仓上蓝牙应用案例
  18. 交易者应该学习的东西
  19. 有哪些适合练手的爬虫小项目?
  20. inital,inherit,unset

热门文章

  1. qq互联登录授权php配置,网站接入QQ登录(QQ互联)php版的流程
  2. 高尔顿钉板与二项分布
  3. 服务器扩容思路及问题分析
  4. cdr软件百度百科_cdr软件是什么?cdr是什么软件?
  5. 专升本英语作文信件类必背范文十篇
  6. 计算机主机显卡在哪里,台式电脑显卡在哪个位置 台式机显卡拆卸方法
  7. excel生成随机手机号
  8. 游戏,CG音乐音效配音
  9. can和could的用法_can和could的区别和用法
  10. ppt太大怎么压缩整个文件