楼主: newkid

[参考文档] Oracle 12c 的新功能:模式匹配查询

[复制链接]
论坛徽章:
126
ITPUB元老
日期:2007-07-04 17:27:50会员2007贡献徽章
日期:2007-09-26 18:42:10现任管理团队成员
日期:2011-05-07 01:45:08优秀写手
日期:2015-01-09 06:00:14版主7段
日期:2015-07-16 02:10:00
11#
发表于 2016-4-21 11:40 | 只看该作者
这种功能现实工作不太可能会用, 就像MODEL, 而且这种特性实际上就是要实现Excel的的部分的高级数据分析特性, 这种性特性被标准化的可能很小, 另外用这种特性执行计划会变的很复杂, 难以理解, 代码很难维护, 尽限于了解了解

使用道具 举报

回复
论坛徽章:
314
行业板块每日发贴之星
日期:2012-07-12 18:47:29双黄蛋
日期:2011-08-12 17:31:04咸鸭蛋
日期:2011-08-18 15:13:51迷宫蛋
日期:2011-08-18 16:58:25紫蛋头
日期:2011-08-31 10:57:28ITPUB十周年纪念徽章
日期:2011-09-27 16:30:47蜘蛛蛋
日期:2011-10-20 15:51:25迷宫蛋
日期:2011-10-29 11:12:59ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41鲜花蛋
日期:2011-11-09 20:33:30
12#
发表于 2016-4-21 12:02 | 只看该作者
ORACLE 在 ORACLE 数据库的上的改进,真是不遗余力,

使用道具 举报

回复
论坛徽章:
12
射手座
日期:2015-07-28 15:35:34弗兰奇
日期:2017-12-07 11:41:14罗罗诺亚·索隆
日期:2017-11-30 10:13:36山治
日期:2017-01-18 17:08:06乌索普
日期:2017-01-18 17:08:00天蝎座
日期:2016-05-22 22:11:57摩羯座
日期:2016-01-11 21:13:57金牛座
日期:2015-11-30 17:07:23秀才
日期:2015-11-30 09:59:23秀才
日期:2015-08-18 09:48:57
13#
发表于 2016-4-21 14:26 | 只看该作者
多谢,看过几次都是简单的模仿着做,太费神没深入细看,这次一定细看一下。

使用道具 举报

回复
论坛徽章:
737
季节之章:春
日期:2015-07-31 17:16:29ITPUB季度 技术新星
日期:2014-07-17 14:37:00季节之章:秋
日期:2015-07-31 17:16:14季节之章:夏
日期:2015-07-31 17:16:29股神
日期:2014-10-15 09:23:31衰神
日期:2014-10-20 22:47:12季节之章:冬
日期:2015-07-31 17:16:14红钻
日期:2014-12-16 17:51:41洛杉矶湖人
日期:2016-09-23 08:18:15布鲁克林篮网
日期:2016-09-23 08:17:18
14#
发表于 2016-4-21 19:50 | 只看该作者
翻译的很强大,支持。。。

使用道具 举报

回复
论坛徽章:
548
生肖徽章2007版:猴
日期:2008-05-16 11:28:59生肖徽章2007版:马
日期:2008-10-08 17:01:01SQL大赛参与纪念
日期:2011-04-13 12:08:17授权会员
日期:2011-06-17 16:14:53ITPUB元老
日期:2011-06-21 11:47:01ITPUB官方微博粉丝徽章
日期:2011-07-01 09:45:27ITPUB十周年纪念徽章
日期:2011-09-27 16:30:472012新春纪念徽章
日期:2012-01-04 11:51:222012新春纪念徽章
日期:2020-11-30 22:13:24海蓝宝石
日期:2012-02-20 19:24:27
15#
发表于 2016-4-21 21:19 | 只看该作者
感谢大师又造福人类,mark 一下,有空再研究!!

使用道具 举报

回复
论坛徽章:
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
16#
 楼主| 发表于 2016-4-21 21:51 | 只看该作者
bell6248 发表于 2016-4-21 11:40
这种功能现实工作不太可能会用, 就像MODEL, 而且这种特性实际上就是要实现Excel的的部分的高级数据分析特性 ...

应用的场合不多,但是一旦碰到了,你就会赞叹它的强大,而且几乎没有其它方法可比拟(除了再写一段复杂的PLSQL代码)。

SQL里面要比较不同行之间的数据,就只有用分析函数把它拿到同一行,表示成不同列,然后再比较这两个列。

如果要捕捉多行之间的数据变化就傻眼了。

这个MATCH_RECOGNIZE我原来也觉得很复杂,这次通过翻译完整地学习了一遍,发现其实不然,只要掌握一些简单元素就可以写出很强大的功能。
PARTITION BY,ORDER BY都很好理解。
DEFINE 就是定义行间关系,把不同行之间的比较关系用一个模式变量来表示,这相当于你画画用的颜料。
PATTERN 就是用DEFINE里面的颜料(模式变量)来描绘这个数据变化的“图案”。
MEASURE定义的是你要什么样的输出。

比方OO说的例子,股票什么时候买入卖出赚钱最多。这其实是要出所有尽可能长的上升曲线。
这个图案表现为:有一个起点,随后是一系列的上升。
上升就是价格比前一天更高或者持平。

SELECT *
FROM Ticker MATCH_RECOGNIZE (
     PARTITION BY symbol
     ORDER BY tstamp
     MEASURES  STRT.tstamp AS low_tstamp
              ,STRT.price AS low_price
              ,LAST(UP.tstamp) AS high_tstamp
              ,LAST(UP.price) AS high_Price
     ONE ROW PER MATCH
     PATTERN (STRT UP+)
     DEFINE
        UP AS UP.price >= PREV(price)
     ) MR
ORDER BY MR.symbol, MR.low_tstamp;

使用道具 举报

回复
论坛徽章:
10000
绿钻
日期:2016-02-22 15:43:08绿钻
日期:2016-03-01 18:19:01绿钻
日期:2016-02-22 15:43:08绿钻
日期:2016-03-01 18:19:01绿钻
日期:2015-12-16 18:42:35绿钻
日期:2015-12-11 00:18:01绿钻
日期:2015-09-10 13:05:08绿钻
日期:2015-12-11 00:18:01绿钻
日期:2015-09-10 13:05:08绿钻
日期:2015-09-10 13:05:08
17#
发表于 2016-4-21 21:51 | 只看该作者
辛苦了!

使用道具 举报

回复
论坛徽章:
5
处女座
日期:2016-04-18 20:47:50秀才
日期:2016-04-29 15:10:43处女座
日期:2016-04-30 16:29:14秀才
日期:2016-06-24 09:15:44ITPUB15周年纪念
日期:2016-10-13 13:15:34
18#
发表于 2016-4-21 23:46 | 只看该作者
得下载个12c安装去练练

使用道具 举报

回复
论坛徽章:
40
2014年新春福章
日期:2014-02-18 16:43:09喜羊羊
日期:2015-05-18 16:24:25慢羊羊
日期:2015-06-12 13:08:22暖羊羊
日期:2015-07-02 16:06:20暖羊羊
日期:2015-07-06 16:28:55狮子座
日期:2015-07-29 17:14:43摩羯座
日期:2015-09-02 13:58:47白羊座
日期:2015-09-08 10:39:06天枰座
日期:2015-09-17 21:41:53摩羯座
日期:2015-10-29 21:07:02
19#
发表于 2016-4-22 11:07 | 只看该作者
收藏了。

苏大师辛苦了。

使用道具 举报

回复
论坛徽章:
31
管理团队2006纪念徽章
日期:2006-04-16 22:44:452012新春纪念徽章
日期:2012-02-13 15:11:522012新春纪念徽章
日期:2012-02-13 15:11:522012新春纪念徽章
日期:2012-02-13 15:11:522012新春纪念徽章
日期:2012-02-13 15:11:52铁扇公主
日期:2012-02-21 15:02:402013年新春福章
日期:2013-02-25 14:51:242014年新春福章
日期:2014-02-18 16:41:11马上有车
日期:2014-02-18 16:41:11马上有车
日期:2014-02-19 11:55:14
20#
发表于 2016-4-23 08:08 | 只看该作者
太厉害了。这是数据分析的 范畴吧, 不是 应该用 什么 R 之类的东西 写吗?

使用道具 举报

回复

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

本版积分规则 发表回复

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