频道栏目
首页 > 资讯 > Oracle认证 > 正文

Oracle认证:Oracle统计符合条件列总数

11-08-15        来源:[db:作者]  
收藏   我要投稿

 Oracle认证:Oracle统计符合条件列总数。最近在项目报表中需要一个查询语句,用来统计符合某一列条件的其它几列的个数。
  比如有下面一个表结构:


 
  需要在列D后面增加一列,统计在列A不为空,并且列B、C、D不为空的个数
  经过自己试验,查找帮助,总算实现了上面的查询。
  首先讲几个函数的用法:
  NULL:指的是空值,或者非法值。
  NVL (expr1, expr2)
  参数说明:如果expr1为NULL,返回expr2;不为NULL,返回expr1.注意两者的类型要一致
  NVL2 (expr1, expr2, expr3)
  参数说明:如果expr1不为NULL,返回expr2;为NULL,返回expr3.expr2和expr3类型不同的话,expr3会转换为expr2的类型
  NULLIF (expr1, expr2)
  参数说明:如果相等返回NULL,不等返回expr1
  下面是本人通过两种方法实现的结果
  方法一:
  代码
  1 Select a,
  2   b,
  3   c,
  4   d,
  5   Case
  6   When a Is Not Null Then
  7   Nvl2(b, 1,0) + Nvl2(c, 1,0) + Nvl2(d, 1,0)
  8   Else
  9   0
  10   End E
  11 From AA
  方法二:
  代码
  1 Select a,
  2   b,
  3   c,
  4   d,
  5   Case
  6   When a Is Not Null Then
7   decode(b,‘’,0,1) + decode(c,‘’,0,1) + decode(d,‘’,0,1)
  8   Else
  9   0
  10   End E
  11 From AA
  效果图显示:
 

相关TAG标签
上一篇:站在十字路口的社交网站:SNS需差异化发展
下一篇:家居电子商务 垂直B2C最后一片蓝海?
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站