Count用来统计查询结果有几条记录
例表 t_test
姓名
|
性别
|
年龄
|
工资
|
张三
|
男
|
23
|
2000
|
李四
|
女
|
34
|
|
王武
|
男
|
25
|
1300
|
① 简单应用
查询:Select count(*) from t_test;
解释:以上查询将返回表t_test中记录的条数。
② 带where条件的应用
查询:Select count(*) from t_test where 性别=’男’
解释:以上查询将返回表t_test中性别字段为【男】的记录个数。
③ 对某个字段计数的应用
查询:Select count(工资) from t_test
解释:以上查询将返回表t_test中工资列的记录个数,当某条记录的工资为空时将不计入结果。
④ 配合distinct的应用
查询:Select count(distint 性别) from t_test
解释:以上查询返回的是select distinct 性别 from t_test结果的记录条数。
总览介绍本文涉及
COUNT
、CASE WHEN 、DECODE介绍的关键字
Oracle
-
COUNT
内置
函数
复杂计数常规操作
中
级操作
中
级操作的反思高级操作高级操作修正版本(需要你根据自己的业务知识灵活转动)总结
本文涉及
COUNT
、CASE WHEN 、DECODE
介绍的关键字
Oracle
-
COUNT
一下所有的操作都吧下面的这张表做为操作对象
建表sql
create table C...
L_SQL := 'SELECT
COUNT
(1) FROM TMP_TEST_
COUNT
';
--因为
Oracle
有缓存机制,第一次执行的数据会被缓存在内存
中
,当下次被访问时就不会去磁盘
中
加载。为了精准测试先加载数据
1、如果你的数据表没有主键,那么
count
(1)比
count
(*)快
2、如果有主键的话,那主键(联合主键)作为
count
的条件也比
count
(*)要快
3、如果你的表只有一个字段的话那
count
(*)就是最快的啦
4、
count
(*)
count
(1) 两者比较。主要还是要
count
(1)所相对应的数据字段。
5、如果
count
(1)是聚索引,id,那肯定是
count
(1)快。但是差的很小的。 因为
count
(*),自动会优化指定到那一个字段。所以没必要去.
count
(*)是以所有字段做
count
count
(1)是以查询结果第一个字段做
count
,两者的结果是一样的
这里的1应该不是位置变量,相当于给*的结果加一个值为1伪列,再
count
1的数量
所以结果和
count
(*)是一样的,即
count
(rowid)
count
(1),你可以理解成有个字段,这个字段就是固定值1,那么也是
COUNT
是
函数
之一。由于它的使用广泛,我们在这里特别提出来讨论。基本上,
COUNT
让我们能够数出在表格
中
有多少笔资料被选出来。它的语法是:
SELECT
COUNT
("栏位名")
FROM "表格名"
举例来说,若我们要找出我们的示范表格
中
有几笔 store_name 栏不是空白的资料时,
Store_Information 表格
select regexp_substr('444.555.666', '[^.]+', 1, level) col
from dual
connect by level <= regexp_
count
('444.555.666', '\.') + 1
输出结果:
如果数据表存在多行数据需要拆分,也可以在原表上使用connect+正则的方法:
每一个DBA在进行数据库管理的过程
中
不可避免的要遇到形形色色的错误(ORA- 1547 ,ORA-904,ORA-1578 ......)。有些错误由于频繁出现、原因复杂而被
Oracle
DBA 们戏称之为\\\\\\\"经典的错误\\\\\\\"。其
中
ORA-3113 \\\\\\\"end of file on communication channel\\\\\\\" 就是这样的一个。我们可以简单的把这个错误理解为
Oracle
客户端进程和数据库后台进程连接
中
断。不过,导致这个错误的原因实际上有很多种:对数据库设置不当、任何能导致数据库后台进程崩溃的行为都可能产生这个错误。本文将为大家介绍
Oracle
-03113错误详细分析与解决办法。
1. CASE WHEN 表达式有两种形式 代码如下:–简单Case
函数
CASE sex WHEN ‘1’ THEN ‘男’ WHEN ‘2’ THEN ‘女’ ELSE ‘其他’ END –Case搜索
函数
CASEWHEN sex = ‘1’ THEN ‘男’ WHEN sex = ‘2’ THEN ‘女’ ELSE ‘其他’ END 2. CASE WHEN 在语句
中
不同位置的
用法
2.1 SELECT CASE WHEN
用法
代码如下:SELECT grade,
COUNT
(CASE WHEN sex = 1 THEN 1 /*sex 1为男生,2位
2. 数值
函数
:如 ROUND、TRUNC、CEIL、FLOOR、MOD 等。
3. 日期
函数
:如 SYSDATE、ADD_MONTHS、MONTHS_BETWEEN、TO_CHAR、TO_DATE 等。
4. 转换
函数
:如 TO_CHAR、TO_NUMBER、TO_DATE 等。
5. 聚合
函数
:如 SUM、AVG、
COUNT
、MAX、MIN 等。
6. 分析
函数
:如 RANK、DENSE_RANK、ROW_NUMBER、LEAD、LAG 等。
以上是
Oracle
常用
函数
的一些例子,具体使用方法可以参考
Oracle
官方文档或者相关书籍。