如题!
       希望大伙给些分析函数lead与lag的用法例子!     
       

解决方案 »

  1.   

    select a,lag(a)over(order by rownum)lg,lead(a)over(order by rownum)ld
    from(
      select rownum a from dual connect by rownum<100)
      

  2.   

    LAG(COL,n,default)、LEAD(OL,n,default) --取前后边N条数据select id,lag(score,1,0) over(order by id) lg,score from students;select id,lead(score,1,0) over(order by id) lg,score from students;
      

  3.   

    LEAD 
    功能描述:LEAD与LAG相反,LEAD可以访问组中当前行之后的行。Offset是一个正整数,其默认值为1,若索引超出窗口的范围,就返回默认值(默认返回的是组中第一行)
    SAMPLE:下面的例子中每行的"NextHired"返回按hire_date排序的下一行的hire_date值SELECT last_name, hire_date, 
    LEAD(hire_date, 1) OVER (ORDER BY hire_date) AS "NextHired" 
    FROM employees WHERE department_id = 30;LAST_NAME HIRE_DATE NextHired
    ------------------------- --------- ---------
    Raphaely 07-DEC-94 18-MAY-95
    Khoo 18-MAY-95 24-JUL-97
    Tobias 24-JUL-97 24-DEC-97
    Baida 24-DEC-97 15-NOV-98
    Himuro 15-NOV-98 10-AUG-99
    Colmenares 10-AUG-99
      

  4.   

    我们有个报表,统计当天销量,并和昨天销量做对比就用LAG
      

  5.   

    楼主去下载个oracle的sql reference,不什么都有了嘛,那个里面是最全的。
    ps:要学会方法
      

  6.   

    lag(expression<,offset><,default>)函数可以访问组内当前行之前的行,
    而lead(expression<,offset><,default>)函数则正相反,可以反问组内当前行之后的行.
    其中,offset是正整数,默认为1.因组内第一个条记录没有之前的行,最后一行没有之后的行,
    default就是用于处理这样的信息,默认为空.
    注意:这2个函数必须指定 order By 字句.