zoukankan      html  css  js  c++  java
  • Oracle Lead(),Lag()

    Lead()就是取当前顺序的下一条记录,相对Lag()就是取当前顺序的上一行记录

    语法结构:
    lead(value_expr [,offset][,default]) over([query_partition_clause] order by Order_by_clause)
    参数说明:
    value_expr 值表达式,通常是字段,也可是是表达式。value_expr本身不支持分析函数,也就是lead不支持多层调用。
    offset 偏移,应该是很熟悉的数学概念了,或者是相对偏移,表格来开当前行的第offset行,如果offset是整数就表示是顺序下的前第n行,如果是负数就是往后第n行。 如果不提供这个参数,就是默认为1.
    default 默认值,如果没有找到,应该返回什么值的意思,有点类似nvl(col,value)。如果没有设置,且找不到,那么就返回Null
    over  理解成在一个结果集范围内,如果后面的partition by为空,那么就是当前的结果集范围内。
    query_partition_clause  分区语句,对结果集合分区的语句,是可选的,如果没有就是所有的一个分区。
    Order_by_clause 排序语句 必须需要 ,形如order by xxx desc/asc
     
    exp:
    select a.*,  
           lag(name,1) over (order by id desc) lag  
    from tmp a  
  • 相关阅读:
    Bit Manipulation
    218. The Skyline Problem
    Template : Two Pointers & Hash -> String process
    239. Sliding Window Maximum
    159. Longest Substring with At Most Two Distinct Characters
    3. Longest Substring Without Repeating Characters
    137. Single Number II
    142. Linked List Cycle II
    41. First Missing Positive
    260. Single Number III
  • 原文地址:https://www.cnblogs.com/gscheng/p/3967776.html
Copyright © 2011-2022 走看看