栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

ROW_NUMBER个查询

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ROW_NUMBER个查询

create table test(trip number,stp  varchar2(1),tm   varchar2(10),seq  number);insert into test values (1,     'A',     '1:10',   1);insert into test values (1,     'B',     '1:16',   2); insert into test values (1,     'B',     '1:20',   2);insert into test values (1 ,    'B',     '1:25',   2);insert into test values (1 ,    'C',     '1:31',   3);insert into test values (1,     'B',     '1:40',   4);insert into test values (2,     'A',     '2:10',   1);insert into test values (2,     'B',     '2:17',   2);insert into test values (2,     'C',     '2:20',   3);insert into test values (2,     'B',     '2:25',   4);select t1.*      ,sum(depre(t1.stp,t1.prev_stp,0,1)) over (partition by trip order by tm) new_seqfrom       (select t.* ,lag(stp) over (order by t.tm) prev_stp      from   test t      order  by tm) t1;  TRIP S TM     SEQ P    NEW_SEQ------ - ---------- ---------- - ----------     1 A 1:10     1 1     1 B 1:16     2 A          2     1 B 1:20     2 B          2     1 B 1:25     2 B          2     1 C 1:31     3 B          3     1 B 1:40     4 C          4     2 A 2:10     1 B          1     2 B 2:17     2 A          2     2 C 2:20     3 B          3     2 B 2:25     4 C          4 10 rows selected

您想查看停靠点是否在一行和下一行之间改变。如果是这样,您要增加序列。因此,请使用lag将上一个停靠点移至当前行。

我之所以使用DECODE是因为它处理NULL的方式,并且比CASE更为简洁,但是如果您正在阅读教科书,则可能应该使用CASE。

将SUM用作带有ORDER BY子句的解析函数将提供您要寻找的答案。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/407600.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号