IBM大型机论坛索引
 
 登录
 
IBM大型机论坛索引 大型机:搜索 IBM Mainframe论坛:常见问题解答  寄存器
 

DB2中的COUNT(*)以检索每个部门的数量


IBM大型机论坛 -> DB2
 发表新话题     回复主题
查看上一个主题 :: 查看下一个主题  
作者 信息
vsrao_2k

新的用户


已加入:2005年12月12日
帖子:13

 发布 发表:2007年10月25日,星期四5:34 pm
引用回复

大家好,

帮助需要编写查询。

我有3个部门。例如DEPT1,DEPT2,DEPT3。
dept1共有10条记录,DEPT2有20条记录,dept3有0条记录

我想检索每个部门的计数,如果计数为零,我想显示为0。

从表名中选择dept,(count(*),0)
按部门分组。

我可以在DB2中这样写吗?

谢谢
回到顶部
查看用户资料 发送私信
Craq Giegerich

高级会员


加入时间:2007年5月19日
帖子:1512
地点:美国弗吉尼亚

 发布 发表:2007年10月25日,星期四,下午5:51
引用回复

vsrao_2k 写道:
大家好,

帮助需要编写查询。

我有3个部门。例如DEPT1,DEPT2,DEPT3。
dept1共有10条记录,DEPT2有20条记录,dept3有0条记录

我想检索每个部门的计数,如果计数为零,我想显示为0。

从表名中选择dept,(count(*),0)
按部门分组。

我可以在DB2中这样写吗?

谢谢


如果计数为0,您应该如何知道部门存在?
回到顶部
查看用户资料 发送私信
斯托多拉斯

活跃成员


已加入:2007年6月13日
帖子:632
地点:威斯康星州

 发布 发表:2007年10月25日,星期四,11:07 pm
引用回复

为了回答您的问题,该查询看起来正确无误,但Craq的问题仍然悬而未决。
回到顶部
查看用户资料 发送私信
斯托多拉斯

活跃成员


已加入:2007年6月13日
帖子:632
地点:威斯康星州

 发布 发表:2007年10月25日,星期四,11:49 pm
引用回复

Craq:如果有一个部门表和一个带有记录的子表并使用联接,则可能...。
回到顶部
查看用户资料 发送私信
陶醉

活跃用户


已加入:2005年4月5日
职位:135
地点:班加罗尔/印度钦奈

 发布 发表:2007年10月26日,星期五2:01 pm
引用回复

使用以下查询进行检查

选择部门,按部门分组的COUNT(*)
案件
当COUNT(*)= 0时为0
何时计数(*)> 0 THEN COUNT(*)
.............
从表

尝试执行并让我知道输出

拉加夫
回到顶部
查看用户资料 发送私信
西尼帕特

新的用户


已加入:2007年9月13日
职位:37
地点:印度

 发布 发表:2007年10月26日,星期五3:10 pm
引用回复

vsrao_2k 写道:
,

从表名中选择dept,(count(*),0)
按部门分组。

我可以在DB2中这样写吗?

谢谢


你好

上面的查询给了我-104
码:
DSNT408I SQLCODE = -104,错误:  ILLEGAL SYMBOL ","。一些可能的符号   
         BE LEGAL ARE: + -       


我们使用的是Db2版本7。如果您的效果很好,请告诉我。
回到顶部
查看用户资料 发送私信
陶醉

活跃用户


已加入:2005年4月5日
职位:135
地点:班加罗尔/印度钦奈

 发布 发表:2007年10月26日,星期五3:36 pm
引用回复

您能告诉我Dept1,Dept2,Dept3是一列还是TABLE,将包含一些数据的结构发送给我...以便我尽快回复您。

拉加夫
回到顶部
查看用户资料 发送私信
斯托多拉斯

活跃成员


已加入:2007年6月13日
帖子:632
地点:威斯康星州

 发布 发表:2007年10月26日,星期五5:36 pm
引用回复

陶醉:

如果表中没有DEPT3,查询如何显示DEPT3的计数为0?您甚至不知道DEPT3存在,因为它在您从中选择的表上没有条目。您的查询不满足OP的要求,并且WHEN子句不做任何更改查询结果的操作。
回到顶部
查看用户资料 发送私信
里特什·乔普拉(Ritesh Chopra)

新的用户


入会时间:2007年10月15日
帖子:13
地点:印度

 发布 发表:2007年11月5日星期一11:10上午
引用回复

vsrao_2k 写道:
大家好,

帮助需要编写查询。

我有3个部门。例如DEPT1,DEPT2,DEPT3。
dept1共有10条记录,DEPT2有20条记录,dept3有0条记录

我想检索每个部门的计数,如果计数为零,我想显示为0。

从表名中选择dept,(count(*),0)
按部门分组。

我可以在DB2中这样写吗?

谢谢





如果DEPT1,2,3是表中的列,则假设它们是表的1,2,3列。请尝试
从.............中选择count(1),count(2),count(3)。
尝试是否可行。
专家,如果我错了,请纠正我。
回到顶部
查看用户资料 发送私信
里特什·乔普拉(Ritesh Chopra)

新的用户


入会时间:2007年10月15日
帖子:13
地点:印度

 发布 发表:2007年11月5日星期一11:56上午
引用回复

您当然可以直接通过count(colname)来计算该列。
回到顶部
查看用户资料 发送私信
陶醉

活跃用户


已加入:2005年4月5日
职位:135
地点:班加罗尔/印度钦奈

 发布 发表:2007年11月5日星期一4:35 pm
引用回复

vsrao_2k ,您好,

抱歉迟了回应,

据我所知,对于表中不存在该条目的记录,无法将COUNT显示为零。
(我假设这样的表结构

餐桌部

码:
部门
-------
dept1
dept2
dept1
dept1
-------  


由于TABLE中没有DEPT3条目,因此我们无法在TABLE中计算DEPT3元组。

任何建议都欢迎

问候,
拉古
回到顶部
查看用户资料 发送私信
迪克·谢勒

主持人荣誉


已加入:2006年11月23日
帖子:19245
位置:矩阵内部

 发布 发表:2007年11月5日星期一9:15 pm
引用回复

你好,

是否还有一个“部门表”表,每个已定义部门有一行(不是有关部门人员的信息,而只是有关部门的参考信息)?

如果存在,则此引用表可能与每个部门可能具有多行的表合并,并且可能显示没有行的部门零计数。
回到顶部
查看用户资料 发送私信
查看上一个主题 :: :: 查看下一个主题  
 发表新话题     回复主题 查看书签
所有时间均为格林尼治标准时间+ 6小时
论坛索引 -> DB2

 


类似主题
话题 论坛 回覆
 没有新帖 比较文件记录计数百分比... DFSORT / ICETOOL 4
 没有新帖 RECFM = U磁带文件的记录数 DFSORT / ICETOOL 17
 没有新帖 如何从数字d获取总计数... 同步排序 9
 没有新帖 使用CO创建单记录文件... DFSORT / ICETOOL 8
 没有新帖 使用metaco检索多条记录... CA产品 0
搜索我们的论坛:

 回到顶部