Oracle分析函数-first_value()和last_value()
2017-10-25 11:26
483 查看
first_value()和last_value()字面意思已经很直观了,取首尾记录值。
例:查询部门最早发生销售记录日期和最近发生的销售记录日期
看结果first_value()很直观,不用多解释
但是,last_value()值,部门D01不是应该为2014/6/12,部门D02不是应该为2014/5/2吗?为什么会每条记录都不一样?
可以这样去理解:last_value()默认统计范围是 rows between unbounded preceding and current row
验证一下:
全统计的情况下得到的last_value()值,部门D01为2014/6/12,部门D02为2014/5/2。
例:查询部门最早发生销售记录日期和最近发生的销售记录日期
select dept_id ,sale_date ,goods_type ,sale_cnt ,first_value(sale_date) over (partition by dept_id order by sale_date) first_value ,last_value(sale_date) over (partition by dept_id order by sale_date desc) last_value from criss_sales;
看结果first_value()很直观,不用多解释
但是,last_value()值,部门D01不是应该为2014/6/12,部门D02不是应该为2014/5/2吗?为什么会每条记录都不一样?
可以这样去理解:last_value()默认统计范围是 rows between unbounded preceding and current row
验证一下:
select dept_id ,sale_date ,goods_type ,sale_cnt ,first_value(sale_date) over (partition by dept_id order by sale_date) first_value ,last_value(sale_date) over (partition by dept_id order by sale_date desc) last_value ,last_value(sale_date) over (partition by dept_id order by sale_date rows between unbounded preceding and unbounded following) last_value_all from criss_sales;
全统计的情况下得到的last_value()值,部门D01为2014/6/12,部门D02为2014/5/2。
相关文章推荐
- Oracle分析函数之first_value和last_value 分析函数详解
- Oracle分析函数之FIRST_VALUE和LAST_VALUE
- Oracle分析函数系列之first_value/last_value:在记录集中查找第一条记录和最后一条记录
- oracle 分析函数 FIRST_VALUE、LAST_VALUE
- 【Oracle】分析函数first、last、first_value、last_value
- Oracle SQL 分析函数 first、last、first_value、last_value、nth_value
- oracle分析函数系列之first_value/last_value:在记录集中查找第一条记录和最后一条记录
- Oracle 分析函数 Last_value和First_Value
- Oracle分析函数总结(2) - 排序 - rank,dense_rank,row_number,first,first_value,last,last_value,lag,lead
- Oracle分析函数(2) keep(dense_rank first/last) FIRST_VALUE() LAST_VALUE()
- Oracle分析函数四——函数RANK,DENSE_RANK,FIRST,LAST…
- 分析函数:first_value,last_value用法
- Oracle分析函数四——函数RANK,DENSE_RANK,FIRST,LAST…
- 分析函数first_value()与last_value()
- Oracle应用专题之:分析函数3(Top/Bottom N、First/Last、NTile)
- Oracle 分析函数——函数RANK,DENSE_RANK,FIRST,LAST…
- Oracle应用专题之:分析函数3(Top/Bottom N、First/Last、NTile)
- Oracle分析函数四——函数RANK,DENSE_RANK,FIRST,LAST…
- Oracle分析函数四——函数RANK,DENSE_RANK,FIRST,LAST…
- Oracle应用专题之:分析函数3(Top/Bottom N、First/Last、NTile)