2 u011294974 u011294974 于 2016.01.28 15:54 提问

初学Oracle,遇到了Oracle的count函数问题,求大神帮忙!!!

如图,有如下数据:

图片说明

id是主键、status是使用状态(0表示未使用,1表示已使用),现在,我想要统计设备的总量和使用量,想要的效果如下图所示:

图片说明

请问,如何写sql才能实现图中的效果呢?

1个回答

wanghan1977
wanghan1977   2016.01.28 16:01
已采纳

select
count(case when status=0 then 1 else 0 end ) as '总量',
count(case when status=1 then 1 else 0 end ) as '使用量'
from table
group by name
order by name

u011294974
u011294974 谢谢 wanghan1977 了,不过要做一些修改,使用量那里的else 后面不能是 0 ,而是 null
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
oracle里面的count(1)与count(*)函数的执行效率比较。
count(1),其实就是计算一共有多少符合条件的行。 1并不是表示第一个字段,而是表示一个固定值。 其实就可以想成表中有这么一个字段,这个字段就是固定值1,count(1),就是计算一共有多少个1. 同理,count(2),也可以,得到的值完全一样,count('x'),count('y')都是可以的。一样的理解方式。在你这个语句理都可以使用, 返回的值完全是一样的。就是计数。 count(*...
Oracle Intelligent Agent Executable遇到一个问题
  Oracle Intelligent Agent Executable遇到一个问题 最近刚做系统,给本本装了Oracle 9i,装完之后发现计算机名称没有改,我把名称改了之后,每次开机就提示“oracle intelligent agent executable 遇到一个问题,需要关闭”,让你发送错误报告,太烦人。最后我从网上找到解决方法,问题总算解决了。方法如下:问题现象:
oracle group by ,count,sum 函数 日常使用小知识
Oracle中group by用法 在select 语句中可以使用group by 子句将行划分成较小的组,一旦使用分组后select操作的对象变为各个分组后的数据,在用分组时使用聚组函数返回的是每一个组的汇总信息。列 :select  o.customer_no customer_no,count(o.customer_no) as total ,sum(o.amount)  as tot
adapter 重写
各种重写Adapter都会出现些问题,同样的我也遇到了!求大师帮忙解决
oracle 中的几个函数AVG (平均) COUNT (计数) MAX (最大值) MIN (最小值) SUM (总合)
AVG (平均) COUNT (计数) MAX (最大值) MIN (最小值) SUM (总合) 运用函数的语法是: SELECT "函数名"("栏位名") FROM "表格名" 如:表a_table 执行:select sum(a) from a_table后
oracle怎么计算两个常数的求和,如1+1,或者求两个表count(*)的和········用from dual;
oracle怎么计算两个常数的求和,如1+1,或者求两个表count(*)的和 用from dual;
oracle count(*)与count(列)的困扰
从我做开发dba开始,count(*)和count(列)谁快就一直的困扰着我,通过这次学习,我总算是明白了。下面我把我的实验过程写出来。实验环境: oracle11gR2,  实验数据:自备        第一种情况:没有索引的情况下 运行count(*)和count(列)
vs2008中连接ORACLE11G报错误:OCI error encountered. Error encountered while creating OCI environment.
vs2008中连接ORACLE11G报错误:OCI error encountered. Error encountered while creating OCI environment. 在 Microsoft.SqlServer.Dts.Runtime.ConnectionManager.AcquireConnection(Object txn) 在 Attunity.IntegrationServices.DataFlowUI.OracleUI.OraConnectionDialog.te
统计查询-根据条件进行count的两种实现方式- oracle
Sql语句:select b.departmentname, b.name, count(case when b.businessstate='NOTSUBMIT' then 1 else null end ) NOTSUBMIT, count(case when b.businessstate='ABANDONED' then 7 else null e
oracle 求男女比例 sql 函数ratio_to_report
SELECT g.sex, ratio_to_report(count(g.sex)) OVER() rr   FROM DRUG g  GROUP BY g.sex