oracle比较decode(casewhen)、4种去重和去重中的统计函数

oracle比较decode(casewhen)、4种去重和去重中的统计函数

ID:34725161

大小:226.18 KB

页数:6页

时间:2019-03-10

oracle比较decode(casewhen)、4种去重和去重中的统计函数_第1页
oracle比较decode(casewhen)、4种去重和去重中的统计函数_第2页
oracle比较decode(casewhen)、4种去重和去重中的统计函数_第3页
oracle比较decode(casewhen)、4种去重和去重中的统计函数_第4页
oracle比较decode(casewhen)、4种去重和去重中的统计函数_第5页
资源描述:

《oracle比较decode(casewhen)、4种去重和去重中的统计函数》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、oracle比较decode/casewhen、4种去重和去重中的统计函数一:decode和casewhendecode(expression,search_1,result_1,search_2,result_2,....,search_n,result_n,default)decode函数比较表达式和搜索字,如果匹配,返回结果;如果不匹配,返回default值;如果未定义default值,则返回空值。selectusername,decode(lock_date,null,'unlocked','locked')statusfrom

2、t;----------------如果lock_date是null就返回unlocked如果不是null就返回lockedselectusername,decode(lock_date,null,'unlocked')statusfromt;----------------如果lock_date是null就返回unlocked否则是空(因为没有定义)例如有个学生表......行转列-------createtablescore2(namevarchar2(10),Languagenumber(3),Mathnumber(3),Engl

3、ishnumber(3));insertintoscore2values('Zhang',80,67,95);insertintoscore2values('Li',79,84,62);insertintoscore2(name,Language)values('Chen',88);commit;Select*fromscore2;显示成报表的格式.......selectname,sum(decode(subject,'Language',grade,0))"Language",sum(decode(subject,'Math',gr

4、ade,0))"Math",sum(decode(subject,'English',grade,0))"English"fromscoregroupbyname;NAMELanguageMathEnglish--------------------------------------------------Zhang809276Wang7300Li819550第二列,如果subject='Language',那么就显示成绩,否则显示为0第三列,如果subject='Math',那么就显示成绩,否则显示为0第四列,如果subject='

5、English',那么就显示成绩,否则显示为0CasewhenCase[selector]---selector可以不设置Whenid=1THEN‘id是1’;ELSE‘没有id值’;ENDCASE;---->如果ID=1就显示id是1否则显示没有id值~~~~~上面用casewhen显示.................selectt.name,sum(casewhent.subject='Language'thent.gradeelse0end)dd,sum(casewhent.subject='Math'thent.gradeel

6、se0end)Math,sum(casewhent.subject='English'thent.gradeelse0end)Englishfromscoretgroupbyt.name;二:去重的4中方法createtabletest(c1int,c2varchar2(10));insertintotestvalues(1,'Smith');insertintotestvalues(1,'Smith');insertintotestvalues(2,'John');insertintotestvalues(1,'Jack');inse

7、rtintotestvalues(2,'Jack');insertintotestvalues(2,'John');insertintotestvalues(2,'John');commit;一种方法:distinct把之前的表去重显示并创建,droptableold_table;createtabletmp_testasselectdistinct*fromtest1;---创建临时表droptabletest1;altertabletmp_testrenametotest1;第二种rowiddeletefromtestwherero

8、wid<>(selectmin(rowid)fromtestbwhereb.c1=test.c1andb.c2=test.c2)第三种方法:分组,rowiddeletefromtesttwheret.row

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。