电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

sql行列转换VIP免费

sql行列转换_第1页
1/11
sql行列转换_第2页
2/11
sql行列转换_第3页
3/11
表ttt有三个字段 seq --序列 jcxm --检查项目 zhi --值 数据分别如下: seq jcxm zhi ------- -------- -------- 11 1 0.50 11 2 0.21 11 3 0.25 12 1 0.24 12 2 0.30 12 3 0.22 实现功能 创建视图时移动行值为列值 create view v_view1 as select seq, sum(decode(jcxm,1, zhi)) 检测项目 1, sum(decode(jcxm,2, zhi)) 检测项目 2, sum(decode(jcxm,3, zhi)) 检测项目 3 from ttt group by seq; 序号 检测项目 1 检测项目 2 检测项目 3 11 0.50 0.21 0.25 12 0.24 0.30 0.22 技巧: 用 THEN中的 0和 1来进行统计(SUM) jcxm zhi ---- ---- a 1 b 1 a 3 d 2 e 4 f 5 a 5 d 3 d 6 b 5 c 4 b 3 求他的zhi既是1,也是3,也是5的jcxm 方法一 select jcxm from ttt group by jcxm having sum(decode(zhi,1,-1,3,-1,5,-1,0)) = -3 方法二 select jcxm from ttt group by jcxm having (sign(sum(decode(zhi,1,-1,0)))+ sign(sum(decode(zhi,3,-1,0)))+sign(sum(decode(zhi,5,-1,0)))<=-3); ---------- a b 说明: sign()函数根据某个值是0、正数还是负数,分别返回 0、1、-1 所以可以用 sign和 decode来完成比较字段大小来区某个字段 select decode(sign(字段 1-字段 2),-1,字段 3,字段 4) from dual; sign是一个对于写分析 SQL有很强大的功能 下面我对 sign进行一些总结: 但属性 student取 0和 1以外的值,或者 student取两个以上的标法值,问题就不会这么简单了 解决办法就是特征函数(abs(),sign()) 常用的特征算法 [A=B]=1-abs(sign(A-B)) [A!=B]=abs(sign(A-B)) [AB]=1-sign(1-sign(A-B)) [A>=B]=sign(1+sign(A-B))) [NOTα ]=1-d [α ] [α ANDb ]=d [α ]*d [b ] (6) [α OR b ]=sign(d [α ]+d [b ]) 例如: AB Decode( Sign(A-B), 1, 1, 0 ) A>=B Decode( Sign(A-B), -1, 0, 1 ) A=B Decode( A, B, 1,...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部