每天都记账,想要知道每个月账单 哪一天花费的钱最多?这个功能是根据时间排序求花费最大的时间。要实现这个功能需要用到first_value() over(partition by )和last_value() over(partition by )
A.函数定义
first_value() 函数是指获取序列的第一条记录。last_value()获取的是序列的最后一条记录。
函数定义如下:
first_value {(expr [{RESPECT|IGNORE} NULLS]} over (analytic_clause)
其中 :expr 可以是表达式,也可以是单个字段
analytic_clause是指: partition by 分组字段
last_value {(expr [{RESPECT|IGNORE} NULLS]} over (analytic_clause)
其中: expr 可以是表达式,也可以是单个字段
analytic_clause是指: partition by 分组字段 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING
B. 步骤一 建表
一个2020年每天时间的表,有四个字段,分别是年,月,日,和每天对应的Number_s随机数。要求每个月number_s值最大是哪一天?怎么求呢?