楼主: junsansi

[精华] 单条SQL语句实现复杂逻辑几例~~

[复制链接]
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
31#
发表于 2008-7-4 02:37 | 只看该作者

回复 #4 junsansi 的帖子


例子四是可以用分析函数的:

SELECT tmp4.*
      ,NVL(DECODE(addvalue,0, LAST_VALUE(DECODE(addvalue,0,NULL,addvalue) IGNORE NULLS) OVER(ORDER BY adddate DESC ROWS BETWEEN UNBOUNDED PRECEDING AND 1 PRECEDING),addvalue),addvalue) AS new_value
  FROM tmp4
ORDER BY adddate
/



ADDDATE                ADDVALUE NEW_VALUE
-------------------- ---------- -------------
2007-03-01                    0 3,64
2007-03-02                    0 3,64
2007-03-05                 3,64 3,64
2007-03-06                 3,82 3,82
2007-03-07                    0 3,47
2007-03-08                 3,47 3,47
2007-03-09                    0 4,01
2007-03-12                    0 4,01
2007-03-13                 4,01 4,01
2007-03-14                 4,21 4,21
2007-03-15                 4,12 4,12
2007-03-16                    0 0
2007-03-17                    0 0

13 rows selected.



[ 本帖最后由 newkid 于 2008-7-4 04:16 编辑 ]

使用道具 举报

回复
论坛徽章:
23
生肖徽章2007版:蛇
日期:2008-01-02 17:35:53生肖徽章2007版:狗
日期:2009-03-10 21:17:06生肖徽章2007版:虎
日期:2009-03-10 21:20:05生肖徽章2007版:龙
日期:2009-03-10 21:27:46生肖徽章2007版:蛇
日期:2009-03-10 21:34:302009日食纪念
日期:2009-07-22 09:30:00ITPUB8周年纪念徽章
日期:2009-09-27 10:21:21祖国60周年纪念徽章
日期:2009-10-09 08:28:002010新春纪念徽章
日期:2010-01-04 08:33:082010新春纪念徽章
日期:2010-03-01 11:21:01
32#
发表于 2008-7-4 09:19 | 只看该作者
好帖呀,收藏了,谢谢三思

使用道具 举报

回复
论坛徽章:
0
33#
发表于 2008-7-4 10:08 | 只看该作者
试了下第一个,MODEL不认,有时间都写写,收获很大啊

使用道具 举报

回复
论坛徽章:
85
2008新春纪念徽章
日期:2008-02-13 12:43:03双黄蛋
日期:2011-06-17 11:07:502011新春纪念徽章
日期:2011-02-18 11:42:472011新春纪念徽章
日期:2011-01-04 10:24:022010年世界杯参赛球队:荷兰
日期:2010-08-28 00:09:112010年世界杯参赛球队:科特迪瓦
日期:2010-03-02 12:36:542010新春纪念徽章
日期:2010-03-01 11:07:242010新春纪念徽章
日期:2010-03-01 11:07:242010新春纪念徽章
日期:2010-01-04 08:33:082010年世界杯参赛球队:意大利
日期:2009-12-31 14:41:24
34#
发表于 2008-7-4 11:14 | 只看该作者
呵呵,开拓了思路

使用道具 举报

回复
论坛徽章:
0
35#
发表于 2008-7-4 14:17 | 只看该作者
强贴,顶啊!

使用道具 举报

回复
论坛徽章:
9
六级虎吧徽章
日期:2009-01-03 20:00:34
36#
发表于 2008-7-4 14:52 | 只看该作者
不错,学习的好东西!谢谢lz@!

使用道具 举报

回复
论坛徽章:
520
奥运会纪念徽章:垒球
日期:2008-09-15 01:28:12生肖徽章2007版:鸡
日期:2008-11-17 23:40:58生肖徽章2007版:马
日期:2008-11-18 05:09:48数据库板块每日发贴之星
日期:2008-11-29 01:01:02数据库板块每日发贴之星
日期:2008-12-05 01:01:03生肖徽章2007版:虎
日期:2008-12-10 07:47:462009新春纪念徽章
日期:2009-01-04 14:52:28数据库板块每日发贴之星
日期:2009-02-08 01:01:03生肖徽章2007版:蛇
日期:2009-03-09 22:18:532009日食纪念
日期:2009-07-22 09:30:00
37#
发表于 2008-7-4 22:31 | 只看该作者
楼主的例子2举得不够好,在这类需求中必定要有ORDER BY, 也就是说 RN 必须是表中原有的数据,自然顺序ROWNUM是靠不住的。

使用道具 举报

回复
论坛徽章:
1
2011新春纪念徽章
日期:2011-02-18 11:43:35
38#
发表于 2008-7-5 13:33 | 只看该作者
呵呵,我一个都看不懂呢

使用道具 举报

回复
论坛徽章:
0
39#
发表于 2008-7-5 20:24 | 只看该作者
值得学习!多谢!

使用道具 举报

回复
论坛徽章:
9607
土豪章
日期:2013-12-31 14:11:39土豪章
日期:2013-12-31 14:11:39阿森纳
日期:2013-06-03 17:00:31阿森纳
日期:2013-10-11 09:27:58法拉利
日期:2013-12-27 15:20:30林肯
日期:2013-12-27 15:19:09法拉利
日期:2013-12-27 15:20:30法拉利
日期:2013-12-27 15:20:30法拉利
日期:2013-12-27 15:20:30法拉利
日期:2013-12-27 15:20:30
40#
发表于 2008-7-6 16:00 | 只看该作者
好东西,好好学习

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表