SQL的count函数实例

作者:iamlaosong

做软件开发的经常和数据库打交道,就会用到SQL语言,谁也避免不了用count这个函数来统计记录行数,count(1)和count(*)功能是一样的,都是统计所有的行数。这儿的1并不是表示第一个字段,而是表示一个常量,其实就可以想成表中有这么一个字段,这个字段的值就固定为1,count(1),就是计算一共有多少个1。同理,count(2),也可以,得到的值完全一样,count(‘x‘),count(‘y‘)都是可以的。*表示所有字段,相当于所有字段连接在一起,包括ROWID,count(*)就统计所有记录数。

select count(*) from song_temp t;
select count(rowid||t.mail_num||t.descrip) from song_temp t;

可以把*换成字段名,就是count(字段名),也可以多个字段名连在一起,但使用时要注意,这种写法只统计这个字段或这些字段非空值的记录数,空值是不统计的(其它函数如AVG、SUM也把空值排除在外)。

用count(字段名)还要注意一点就是,如果字段值存在重复,记录数会重复统计的,如果需要统计不同值的数量,需要使用count(distinct 字段名),例如,假定有个人员表PP,里面有个字段是“性别”,如下(最后一行没有输入性别):

姓名           性别

张三丰        男

张无忌        男

周芷若        女

赵敏          女

东方不败

select count(性别) from pp;

针对上面这个表,count(1)和count(*)的结果是一样的,是5;那么count(性别)会统计录入了性别的人数,应该是4,count(distinct
性别)会统计有几种性别,而且没有录入性别的空值不作为一种,结果应该是2。

时间: 2024-10-05 05:09:41

SQL的count函数实例的相关文章

oracle,sql server count函数 存储过程 判断 行数 注意事项

oralce中使用 count 函数判断 行数 需要注意 一定是count 有值的字段,接下来看一组语句 1 --查询数据 2 select * from kk_create_ka where auto_id='D7313B4716AD4062B82D3CD8513DA7A8'; 1 --count 2 select count(I_E_Flag) from kk_create_ka where auto_id='D7313B4716AD4062B82D3CD8513DA7A8'; 3 sele

hibernate SQL查询COUNT函数

在Oracle11g中hibernate执行SQL语句使用COUNT聚合函数时,返回类型是BigDecimal 在MySQL5.5中COUNT聚合函数返回类型则是BigInteger 用其他类型数据接收hibernate则会报IllegalArgumentException异常 原文地址:https://www.cnblogs.com/MFlowers/p/11332453.html

数据库开发基础-SQl Server 聚合函数、数学函数、字符串函数、时间日期函数

SQL 拥有很多可用于计数和计算的内建函数. 函数的语法 内建 SQL 函数的语法是: SELECT function(列) FROM 表 函数的类型 在 SQL 中,基本的函数类型和种类有若干种.函数的基本类型是: Aggregate 函数 Scalar 函数 合计函数(Aggregate functions) Aggregate 函数的操作面向一系列的值,并返回一个单一的值. 注释:如果在 SELECT 语句的项目列表中的众多其它表达式中使用 SELECT 语句,则这个 SELECT 必须使

oracle sql单行函数 常用函数实例

无结果函数 1 --一.单列函数 2 --1.字符串函数 3 --将字符串大写,因为emp表里面有15条数据,所以 4 select upper('hello world') from emp; 5 select lower(ename) from emp where ename='SCOTT'; 6 --dual表中只用一行一列,可以用来测试函数 7 --inintcap是让单词的首字母大写,后面的都是小写 8 select initcap('hello world') from dual;

SQL - SELECT COUNT用法

SQL Server数据库 COUNT() 函数返回匹配指定条件的行数. 语法 SQL COUNT(column_name) 语法 COUNT(column_name) 函数返回指定列的值的数目(NULL 不计入): SELECT COUNT(column_name) FROM table_nameSQL COUNT(*) 语法 COUNT(*) 函数返回表中的记录数: SELECT COUNT(*) FROM table_nameSQL COUNT(DISTINCT column_name)

SQL语句学习手册实例版

SQL语句学习手册实例版 表操作 例1  对于表的教学管理数据库中的表 STUDENTS ,可以定义如下: CREATE  TABLE  STUDENTS (SNO      NUMERIC (6, 0) NOT NULL SNAME    CHAR (8) NOT NULL AGE      NUMERIC(3,0) SEX      CHAR(2) BPLACE  CHAR(20) PRIMARY KEY(SNO)) 例2  对于表的教学管理数据库中的表 ENROLLS ,可以定义如下: C

Microsoft SQL Server 自定义函数整理大全(下)

34.字符串转成16进制函数 /**************************** 字符串转成16进制 作者:不得闲 QQ: 75492895 Email: [email protected] ****************************/ --创建函数(suiyunonghen(不得闲)) Create Function VarCharToHex(@Str Varchar(400)) returns varchar(800) as begin declare @i int,@

SQL Server DATEDIFF() 函数

Server Date 函数 定义和用法 DATEDIFF() 函数返回两个日期之间的天数. 语法DATEDIFF(datepart,startdate,enddate) startdate 和 enddate 参数是合法的日期表达式. datepart 参数可以是下列的值: datepart 缩写 年 yy, yyyy 季度 qq, q 月 mm, m 年中的日 dy, y 日 dd, d 周 wk, ww 星期 dw, w 小时 hh 分钟 mi, n 秒 ss, s 毫秒 ms 微妙 mc

php 数组函数实例

数组的概念 数组(array)是 PHP 中一个非常重要的概念,我们可以把数组看做一系列类似的数据的集合,实际上数组是一个有序图. PHP 还提供了超过 70 个内建函数来操作数组. 由于数组在php中比较重要,并且不易掌握,本节将使用实例进行一一讲解. PHP 数组基本操作 PHP print_r 与 var_dump 输出数组 PHP is_array() 检测变量是否是数组 PHP 数组遍历 foreach 语法结构 PHP 数组之count 函数 PHP 检查数组中是否存在某个值 in_