科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道分析函数lag小技巧

分析函数lag小技巧

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

  这个也是从asktom上看到的。

作者:中国IT实验室 来源:中国IT实验室 2007年10月1日

关键字: SQL 数据库 SQL Server

  • 评论
  • 分享微博
  • 分享邮件

  这个也是从asktom上看到的,绝对还不错
  
  Crete table temp_exception (field1 varchar2(20),
  field2 varchar2(240);
  
  Record1  Skipped because of the record status
  Record1  No valid value on social security column
  Record2  Skipped, no matching record found
  Record2  Validation failed for some reason
  ...
  
  I want to get an output as
  
  Record1  Skipped because of the record status
  No valid value on social security column
  Record2  Skipped, no matching record found
  Validation failed for some reason
  
  tom巧妙运用了lag函数实现了功能
  
  ops$tkyte@ORA10GR2> edit
  Wrote file afiedt.buf
  
  1 select decode( lag(deptno) over (order by deptno), deptno, to_number(null),
  deptno ) new_deptno,
  2 ename
  3 from emp
  4* order by deptno
  ops$tkyte@ORA10GR2> /
  
  NEW_DEPTNO ENAME
  ---------- ------------------------------
  10 CLARK
  KING
  MILLER
  20 JONES
  FORD
  ADAMS
  SMITH
  SCOTT
  30 WARD
  TURNER
  ALLEN
  JAMES
  BLAKE
  MARTIN
  
  14 rows selected.

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件