赠oracle开发剑破冰山-全第13课oradev_第1页
赠oracle开发剑破冰山-全第13课oradev_第2页
赠oracle开发剑破冰山-全第13课oradev_第3页
赠oracle开发剑破冰山-全第13课oradev_第4页
赠oracle开发剑破冰山-全第13课oradev_第5页
免费预览已结束,剩余21页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

剑破冰山之Oracle开发第13DATAGURU

2013法【】和幻灯片为炼数成金网络课程的教学资料,所有资料只能在课程内使用,不得在课程以外范围散播,违者将可能被法律和经济课程详 DATAGURU专业数据分 案DATAGURU专业数据分 计算连需求:将T表中X列的值逐个相乘,并输出结果。X列的定义为NUMBER(5假定:最终乘积不会超过PLS_INTEGER解决方案rltforcur_tin(selectxfromend/DATAGURU专业数据分 计算连思路selectexp(sum(ln(x)))rltfrom但如果存在负数,怎么办selectDATAGURU专业数据分 逐字重限制:原始记录数不超过100条,每条记录的str字段所含的字符数最多10数据提供withtas(select'AB'strfromdualunionselect'ABC'fromdualselect'AC'fromdualunionselect'ACB'from输出结果为DATAGURU专业数据分 逐字重方法1:直接获取每个字符,然后通过||withtas(select'AB'strfromdualunionselect'ABC'fromdualselect'AC'fromdualunionselect'ACB'fromfromDATAGURU专业数据分 逐字重方法2:拆分为单字符,然后重复,最后withtas(select'AB'strfromdualunionselect'ABC'fromdualselect'AC'fromdualunionselect'ACB'fromfrom(selectrownumid,strfromt)(selectlevelrnfromdualconnectbylevel<=(selectmax(length(str))fromt))groupby只适用于11g或以上版DATAGURU专业数据分 逐字重方法3:思路同方法withtas(select'AB'strfromdualunionselect'ABC'fromdualselect'AC'fromdualunionselect'ACB'fromt1as(selectid,str,rn,substr(str,rn,1)cfrom(selectrownumid,strfromt)(selectlevelrnfromdualconnectbylevel<=(selectmax(length(str))fromt)) t2as(selectid,str,sys_connect_by_path(c||c,',')conn_strfromt1startwithrn=1connectbyrn=priorrn+1andid=priorid)selectid,str,cast(replace(max(conn_str),',')asvarchar2(20))rltfromt2groupbyid,适用于9i和DATAGURU专业数据分 逐字重方法4:正则表withtas(select'AB'strfromdualunionselect'ABC'fromdualselect'AC'fromdualunionselect'ACB'fromDATAGURU专业数据分 分组求idnumbernotnullnamevarchar2(10)notagenumbernotsalarynumbernotsalary>15000andage>salary>15000andage<salary<15000andage>salary<15000andage<DATAGURU专业数据分 分组求select1type,count(*)fromtwheresalary>15000andage>select2,count(*)fromtwheresalary>15000andage<DATAGURU专业数据分 分组求selectsum(casewhensalary>15000andage>35then1else0sum(casewhensalary>15000andage<35then1else0DATAGURU专业数据分 分组求select……fromgroupbysign(salary-15000),sign(age-DATAGURU专业数据分 分组求withuas(selectcasewhensalary>15000andage>35thenwhen...thenwhen...thenwhen...thenendxfromselectx,count(*)fromugroupbyDATAGURU专业数据分 分组求withuascasewhensalary>15000casewhen...then1when...then2when...casewhen...then3when...then4endxfromselectx,count(*)fromugroupby比最朴素的思路2快30%左了解数据分布,可以合理安排条件,使sql运行DATAGURU专业数据分 分组求withras(selectsalary,age,count(*)cfromtgroupbysalary,uascasewhensalary>15000casewhen...then1when...then2when...casewhen...then3when...then4endx,cfromselectx,sum(c)fromugroupby以最小不重复的集合参与最后的复杂运算,是提高效率的最佳DATAGURU专业数据分 独立

DATAGURU专业数据分 独立 先后顺序。所谓独立树,例如333444其实是111333-333444的一个分支,不视为独立。上述数据应求得如下结果(子节点不区分先后顺序

DATAGURU专业数据分 独立逐行原始数据,从第一条记录开始,将PID和ID都放入到一集合c1中,第二条记录的PIDI和IDc1到和中DATAGURU专业数据分 独立一条SQLDATAGURU专业数据分 独立DATAGURU专业数据分 独立DATAGURU专业数据分 自DATAGURU专业数据分 炼数成金逆 式网络课Dataguru(炼数成金)是专业数据分 ,提供教育 ,内容,社区 式网络培训课程模式。既继承传统教育重学习氛围,重竞争压力的特点,同时又发挥互联网的打破时空限制,把天

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论