HiveSQP
文章平均质量分 63
是番茄鱼啊
这个作者很懒,什么都没留下…
展开
-
sql之每天一个小函数之几个实用小函数
今天讲 业务中常见的处理连续活跃同类型问题 这类问题常用的函数为lag窗口函数,datadiff日期函数等,今天就介绍这两类函数 lag与lead函数可以返回上下行的数据 语法:lead(col,n,default) 用于统计窗口内往下第n行值 第一个参数为列名,第二个参数为往下第n行(可选,默认为1),第三个参数为默认值(当往下第n行为NULL时候,取默认值,如不指定,则为NULL) 日期比较函数: datediff 语法: datediff(string enddate, string startdat原创 2021-05-23 21:45:38 · 182 阅读 · 0 评论 -
sql之每天一个小函数
sql中我们经常会用到聚合函数,聚合之后它会减少数据量,但是如果我们想把聚合之后的数据和原始数据同时展示出来,那么我们需要用到窗口函数。 lag窗口函数通过条件把数据划分成子类,在子类中进行排序 格式 lag(list_name,num) over(partition by ___ order by ) 实例: 原始数据: +----------------+---------------------+----------------+--+ | business.name | business.ord原创 2021-05-07 15:48:12 · 49 阅读 · 0 评论 -
SQL之每天一个小函数
Ntile函数使用 函数解释: 可以看成是:它把有序的数据集合平均分配到指定的数量(num)个桶中, 将桶号分配给每一行。如果不能平均分配,则优先分配较小编号的桶,并且各个桶中能放的行数最多相差1。(这个算法在很多当中使用,spark中数据分片的时候也是这个算法,只不过是不均匀的时候,优先分配给较大编号的分片) 语法是:ntile (num) over ([partition_clause] order_by_clause) as your_bucket_num 然后可以根据桶号,选取前或后 n分之几原创 2021-04-28 19:46:12 · 187 阅读 · 0 评论