12
返回列表 发新帖
楼主: zgb1187270032

绞尽脑汁的脏数据处理,不知道SQL能处理不,求大侠帮助。newkid还在不

[复制链接]
求职 : 数据分析/ETL
论坛徽章:
16
鲜花蛋
日期:2014-08-09 15:15:33秀才
日期:2019-11-14 15:05:06秀才
日期:2019-11-14 15:03:23秀才
日期:2019-11-14 14:53:19秀才
日期:2019-11-14 14:44:34秀才
日期:2019-11-14 14:31:30目光如炬
日期:2018-07-01 22:00:00目光如炬
日期:2018-04-02 17:00:02火眼金睛
日期:2017-11-30 22:00:00火眼金睛
日期:2017-11-01 17:00:02
11#
发表于 2021-8-25 17:47 | 只看该作者
yulihua49 发表于 2021-8-25 11:00
算法,要按一个规则去解决问题,您不能去枚举具体的数据。我总结的规律,不知对不对。事件按类别和时间排序 ...

这好比你举个例子,别人按照这个例子给你实现了,你再拿这个实现了的代码去套你自己的需求。这难道还不够通用么

使用道具 举报

回复
求职 : 数据分析/ETL
论坛徽章:
16
鲜花蛋
日期:2014-08-09 15:15:33秀才
日期:2019-11-14 15:05:06秀才
日期:2019-11-14 15:03:23秀才
日期:2019-11-14 14:53:19秀才
日期:2019-11-14 14:44:34秀才
日期:2019-11-14 14:31:30目光如炬
日期:2018-07-01 22:00:00目光如炬
日期:2018-04-02 17:00:02火眼金睛
日期:2017-11-30 22:00:00火眼金睛
日期:2017-11-01 17:00:02
12#
发表于 2021-8-25 17:47 | 只看该作者
stelfzhangxian 发表于 2021-8-25 17:47
这好比你举个例子,别人按照这个例子给你实现了,你再拿这个实现了的代码去套你自己的需求。这难道还不够通 ...

不通用只能说明你举的例子不够通用

使用道具 举报

回复
论坛徽章:
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
13#
发表于 2021-8-25 21:10 | 只看该作者
yulihua49 发表于 2021-8-25 11:00
算法,要按一个规则去解决问题,您不能去枚举具体的数据。我总结的规律,不知对不对。事件按类别和时间排序 ...

现在我们面临的是这样的数据要找答案。你能要求“建索引”?能要求用户不插入无效数据?
可能是你用的表达方式不同,建索引可能说的是对数据排序,插入数据可能是插入到你自己的内存表。
但是如果你看前面的SQL写法,已经完全实现了你的“算法”,但是我们不需要写过程性代码。所以SQL是非常强大的,已经实现了所谓的“通解”。
12C的MATCH_RECOGNIZE功能非常强悍,它能够找出很复杂的数据变化规律,比如查找股票W型图。如果你自己写要多少代码?

使用道具 举报

回复
论坛徽章:
14
2009新春纪念徽章
日期:2009-01-04 14:52:28沸羊羊
日期:2015-03-04 14:51:52优秀写手
日期:2014-03-14 06:00:13马上有房
日期:2014-02-18 16:42:022014年新春福章
日期:2014-02-18 16:42:022013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:08:15蜘蛛蛋
日期:2012-06-27 21:08:142012新春纪念徽章
日期:2012-01-04 11:53:29ITPUB十周年纪念徽章
日期:2011-11-01 16:23:26
14#
发表于 2021-8-26 18:25 | 只看该作者
本帖最后由 yulihua49 于 2021-8-26 18:27 编辑
newkid 发表于 2021-8-25 21:10
现在我们面临的是这样的数据要找答案。你能要求“建索引”?能要求用户不插入无效数据?可能是你用的表达方 ...

我还真不知道楼主啥意思。如果你的解他认可,我也无话可说。
如果我是导师出了这么个题,这个解我不认可。
如果有一千万个数据需要处理,你也枚举?

使用道具 举报

回复
论坛徽章:
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
15#
发表于 2021-8-26 21:06 | 只看该作者
你几次三番提到“枚举”,搞得我莫名其妙,不知道哪个地方算是“枚举”。后来看了几遍,恍然大悟,不禁哑然失笑,莫非你指的是这个:
with d as (
select 'A' as type,date '2021-7-1' as dt,'通' as status from dual
union all select 'A' ,date '2021-7-2','通'  from dual
union all select 'A' ,date '2021-7-3','断'  from dual
union all select 'A' ,date '2021-7-4','断'  from dual
union all select 'A' ,date '2021-7-5','通'  from dual
)


在本版提问有一个模板:
http://www.itpub.net/thread-1348543-1-1.html

有些新来的楼主不懂规矩,或者太懒,贴个图片就开问。如果碰到我心情好又有空,就会替楼主写这么一个WITH, 这个只是为了模拟出一个测试环境,真正有价值的是查询的主体,并不是在现实中一定要写一个WITH,相信没有人会那么蠢。

假设楼主提供了CREATE TABLE, 和INSERT脚本,那么这些测试数据当然也是一条一条插入的,难道你也认为这是“枚举”?

使用道具 举报

回复
论坛徽章:
14
2009新春纪念徽章
日期:2009-01-04 14:52:28沸羊羊
日期:2015-03-04 14:51:52优秀写手
日期:2014-03-14 06:00:13马上有房
日期:2014-02-18 16:42:022014年新春福章
日期:2014-02-18 16:42:022013年新春福章
日期:2013-02-25 14:51:24ITPUB 11周年纪念徽章
日期:2012-10-09 18:08:15蜘蛛蛋
日期:2012-06-27 21:08:142012新春纪念徽章
日期:2012-01-04 11:53:29ITPUB十周年纪念徽章
日期:2011-11-01 16:23:26
16#
发表于 2021-8-27 17:18 | 只看该作者
newkid 发表于 2021-8-26 21:06
你几次三番提到“枚举”,搞得我莫名其妙,不知道哪个地方算是“枚举”。后来看了几遍,恍然大悟,不禁哑然 ...

哦,见笑了。

使用道具 举报

回复
论坛徽章:
484
ITPUB北京香山2007年会纪念徽章
日期:2007-01-24 14:35:02ITPUB北京九华山庄2008年会纪念徽章
日期:2008-01-21 16:50:24ITPUB北京2009年会纪念徽章
日期:2009-02-09 11:42:452010新春纪念徽章
日期:2010-03-01 11:04:552010数据库技术大会纪念徽章
日期:2010-05-13 10:04:272010系统架构师大会纪念
日期:2010-09-04 13:35:54ITPUB9周年纪念徽章
日期:2010-10-08 09:28:512011新春纪念徽章
日期:2011-02-18 11:43:32ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412012新春纪念徽章
日期:2012-01-04 11:49:54
17#
发表于 2021-8-27 21:55 | 只看该作者
zgb1187270032 发表于 2021-8-4 10:06
大师能帮忙给我看看这个需求吗。

根据地址判断独立的ip有多少条,然后用正则+connect by(或递归)去拆分,拆分成几条就展现几条就可以了

使用道具 举报

回复
论坛徽章:
3
优秀写手
日期:2014-02-28 06:00:12美羊羊
日期:2015-03-04 14:52:282015年新春福章
日期:2015-03-06 11:58:18
18#
 楼主| 发表于 2021-9-6 14:10 | 只看该作者
newkid 发表于 2021-8-26 21:06
你几次三番提到“枚举”,搞得我莫名其妙,不知道哪个地方算是“枚举”。后来看了几遍,恍然大悟,不禁哑然 ...

感谢大神,我用你给的例子我解决了问题。再次感谢

使用道具 举报

回复
论坛徽章:
2
20周年集字徽章-周
日期:2023-08-03 16:37:4519周年集字徽章-19
日期:2024-09-07 21:32:18
19#
发表于 2021-9-15 17:24 | 只看该作者
newkid 发表于 2021-7-27 23:44
12C之后可以试试下面写法,但是规则表达式有点费解:with d as (select 'A' as type,date '2021-7-1' as dt ...

如果用one row per match , 规则表达式和define就比较简单, 也容易理解一些:
    one row PER MATCH
     PATTERN (  A  )   
     DEFINE
        A as status<>prev(status) or prev(status) is null

使用道具 举报

回复

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

本版积分规则 发表回复

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