select count(1) from student where 岁数 = '18'
union all
select count(1) from student where 岁数 = '19'
这样得到的是两条数据各是一个字段
select ac_1,bc_2 from
(select count(1) as c_1 from student where 岁数 = '18') a,
(select count(1) as c_2 from student where 岁数 = '19') b
这样得到的是一条数据两个字段
典型的case when 语句块可以解决先映射表的视图,添加条件过滤
例如性别为M的和为F的分别计数name,可以写成:
select b1sex, count(b1name)
from ((select bh,
(case when sex= 'M' then 1 else 0 end) as qty /此处可写多个when/
from user_d bh) b1)
group by b1sex
oraclecount一直出不来数量的原因和优化方法有索引问题、数据库性能问题、数据库锁问题、数据库版本问题。
1、索引问题:如果查询条件中的字段没有建立索引,或者索引失效,可能会导致oraclecount查询速度变慢,甚至无法返回结果。此时,可以通过建立索引或者优化查询语句来解决问题。
2、数据库性能问题:如果数据库的性能较差,例如内存不足、CPU占用率过高等,也可能导致oraclecount查询缓慢或者无法返回结果。此时,可以通过优化数据库配置或者增加服务器硬件资源来提升数据库性能。
3、数据库锁问题:如果在查询时出现了锁表或者锁行的情况,也会导致oraclecount无法返回结果。此时,可以通过查看数据库锁的情况,或者优化并发访问控制来解决问题。
4、数据库版本问题:如果使用的Oracle数据库版本较老,可能存在一些已知的Bug或者性能问题,需要升级到较新的版本来解决问题。
--假设表名为sales (销售)
--,含有字段product (产品) ;
select product , count()
from sales
group by product
;
--如果还有流水号id,可以:
select product
, count() --不去重
, count(distinct id) --去重
from sales
group by product
;
以上就是关于oracle 查询两个count(*)全部的内容,包括:oracle 查询两个count(*)、oracle,sql语句同一表中同一字段不同条件count(*)、oraclecount一直出不来数量,如何优化等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)