云服务器内容精选

  • 分析窗口函数概览 DLI 所支持的分析窗口函数如分析窗口函数介绍所示。 表1 分析窗口函数介绍 函数 命令格式 返回值 功能简介 cume_dist cume_dist() DOUBLE 用于求累计分布,相当于求分区中大于等于或小于等于当前行的数据在分区中的占比。 first_value first_value(col) 参数的数据类型 返回结果集中某列第一条数据的值。 last_value last_value(col) 参数的数据类型 返回结果集中某列最后一条数据的值。 lag lag (col,n,DEFAULT) 参数的数据类型 用于统计窗口内往上第n行值。第一个参数为列名,第二个参数为往上第n行(可选,默认为1),第三个参数为默认值(当往上第n行为NULL时候,取默认值,如不指定,则为NULL)。 lead lead (col,n,DEFAULT) 参数的数据类型 用于统计窗口内往下第n行值。第一个参数为列名,第二个参数为往下第n行(可选,默认为1),第三个参数为默认值(当往下第n行为NULL时候,取默认值,如不指定,则为NULL)。 percent_rank percent_rank() DOUBLE 为窗口的ORDER BY子句所指定列中值的返回秩,但以介于0和1之间的小数形式表示,计算方法为 (RANK - 1)/(- 1)。 rank rank() INT 计算一个值在一组值中的排位。如果出现并列的情况,RANK函数会在排名序列中留出空位。 row_number row_number() over (order by col_1[,col_2 ...]) INT 为每一行指派一个唯一的编号。 父主题: 分析窗口函数
  • 示例代码 为便于理解函数的使用方法,本文为您提供源数据,基于源数据提供函数相关示例。创建表logs,并添加数据,命令示例如下: CREATE TABLE logs (cookieid string,createtime string,pv INT) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' stored as textfile; 添加数据如下: cookie1 2015-04-10 1cookie1 2015-04-11 5cookie1 2015-04-12 7cookie1 2015-04-13 3cookie1 2015-04-14 2cookie1 2015-04-15 4cookie1 2015-04-16 4cookie2 2015-04-10 2cookie2 2015-04-11 3cookie2 2015-04-12 5cookie2 2015-04-13 6cookie2 2015-04-14 3cookie2 2015-04-15 9cookie2 2015-04-16 7 示例:将所有记录根据cookieid分组,并按pv降序排列,返回组内每行的序号。命令示例如下: select cookieid, createtime, pv, rank() over(partition by cookieid order by pv desc) as rankfrom logswhere cookieid = 'cookie1';-- 结果:cookie1 2015-04-12 7 1cookie1 2015-04-11 5 2cookie1 2015-04-16 4 3 (并列第三)cookie1 2015-04-15 4 3cookie1 2015-04-13 3 5 (跳过4,从5开始)cookie1 2015-04-14 2 6cookie1 2015-04-10 1 7
提示

您即将访问非华为云网站,请注意账号财产安全