sql中count是什么含义

发布时间:2026-10-25 08:16:04 来源:君肯网

返回组中的项数。COUNT 与 COUNT_BIG 函数类似。两个函数唯一的差别是它们的返回值。COUNT 始终返回 int 数据类型值。COUNT_BIG 始终返回 bigint 数据类型值。

Transact-SQL 语法约定

语法

COUNT ( { [ [ ALL | DISTINCT ] expression ] | * } )

备注

COUNT(*) 返回组中的项数。包括 NULL 值和重复项。

COUNT(ALL expression) 对组中的每一行都计算 expression 并返回非空值的数量。

COUNT(DISTINCT expression) 对组中的每一行都计算 expression 并返回唯一非空值的数量。

对于大于 2^31-1 的返回值,COUNT 生成一个错误。这时应使用 COUNT_BIG。

参数

ALL

对所有的值进行聚合函数运算。ALL 是默认值。

DISTINCT

指定 COUNT 返回唯一非空值的数量。

expression

除 text、image 或 ntext 以外任何类型的表达式。不允许使用聚合函数和子查询。

*

指定应该计算所有行以返回表中行的总数。COUNT(*) 不需要任何参数,而且不能与 DISTINCT 一起使用。COUNT(*) 不需要 expression 参数,因为根据定义,该函数不使用有关任何特定列的信息。COUNT(*) 返回指定表中行数而不删除副本。它对各行分别计数。包括包含空值的行。

重要事项:

使用 CUBE 或 ROLLUP 时,不支持区分聚合,如 AVG(DISTINCT column_name)、COUNT(DISTINCT column_name)、MAX(DISTINCT column_name)、MIN(DISTINCT column_name) 和 SUM(DISTINCT column_name)。如果使用这些聚合,Microsoft SQL Server 2005 Database Engine 将返回一条错误消息并取消查询。

返回类型

int

示例

A. 使用 COUNT 和 DISTINCT

以下示例列出了在 Adventure Works Cycles 工作的雇员可以拥有的不同标题的数量。

复制代码

USE AdventureWorks

GO

SELECT COUNT(DISTINCT Title)

FROM HumanResources.Employee

GO

下面是结果集:

复制代码

———–

67

(1 row(s) affected)

B. 使用 COUNT(*)

以下示例计算 Adventure Works Cycles 的雇员总数。

复制代码

USE AdventureWorks

GO

SELECT COUNT(*)

FROM HumanResources.Employee

GO

下面是结果集:

复制代码

———–

290

(1 row(s) affected)

C. 组合使用 COUNT(*) 和其他聚合函数

以下示例显示可以组合使用 COUNT(*) 和选择列表中的其他聚合函数。

复制代码

USE AdventureWorks

GO

SELECT COUNT(*), AVG(Bonus)

FROM Sales.SalesPerson

WHERE SalesQuota &gt25000

GO

sql中count是什么含义

下面是结果集:

复制代码

———– ———————

143472.1428

(1 row(s) affected)

SQL的COUNT语句

过多繁琐的sql影响代码质量,及维护成本,以下为两种小技巧处理方式,仅供参考。

第一种,用case —when—方法

select id

,sum(case when type in (1,2) then [count] else 0 end) as sum1

,sum(case when type in (3) then [count] else 0 end) as sum2

,sum(case when type in (4,5) then [count] else 0 end) as sum3

from 表名

group by id

第二种,if 判断

SELECT   SUM( goods_amount ) AS money,

count( * ) AS num,

count(if(pay_status=1,true,null)) AS success,

count(if(pay_status=2,true,null)) AS fall

FROM `tab_order_info`  

WHERE user_id = 11

sql语句中count的用法?

SQL中的count()语句是计算行数的语句,但根据括号内的内容不同,略有区别。

1、创建测试表、插入数据:

create table test

(id int,

name varchar(10),

name1 varchar(10))

insert into test values (1,’a’,’b’)

insert into test values (2,’c’,’d’)

insert into test values (3,’e’,null)

2、做不同的测试(主要是针对字段中含有null的情况)。

(a)测试语句

select count(*) from test–不区分字段,针对全表

结果:

(b)测试语句:

select count(id) from test–针对一列不含空值的字段

结果:

(c)测试语句:

select count(name1) from test

结果:

结论:对count中为*或者列中不含空值的字段,结果就是所有的行数,如果某一列含空值,结果就是去除了空行的部分的行数。

SQL语句中count和count的区别

a列有多少元素?你的意思应该是a列有多少个不同的元素吧?null算吗?如果null不算,那么count(distinct a)就可以。如果null算,那么就要先看看有没有null有的话就+1,具体的做法各个数据库写法上也会有所区别,这个就不写了。

如果要比较三张表,那么就需要交并补,那么就需要用到union等语句关联的写法,各个数据库也并不完全一致,根据数据库选择。

如元素要列出来,那么直接distinct a 这样就直接列出来了。

如果要知道每个元素的出现的次数,那么就需要分组count了,a count(a)group by a

SQL语句中count和count没有区别。表示返回匹配指定条件的行数。

SQL COUNT() 语法:

1、SQL COUNT(column_name) 函数返回指定列的值的数目(NULL 不计入),如:SELECT COUNT(column_name) FROM table_name。

2、SQL COUNT(*) 函数返回表中的记录数,如:SELECT COUNT(*) FROM table_name。

3、SQL COUNT(DISTINCT column_name) 函数返回指定列的不同值的数目,如:SELECT COUNT(DISTINCT column_name) FROM table_name。

扩展资料:

COUNT和 DISTINCT 经常被合起来使用,目的是找出表格中有多少笔不同的数据 (至于这些数据实际上是什么并不重要)。COUNT(DISTINCT column_name) 语法适用于 ORACLE 和 Microsoft SQL Server,但是无法用于 Microsoft Access。

COUNT(column_name) 语法返回的数目是检索表中的这个字段的非空行数,不统计这个字段值为null的记录。而COUNT(*) 语法返回的数目是包括为null的记录。

以上就是关于sql中count是什么含义全部的内容,如果了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

更多相关资讯

返回组中的项数。COUNT 与 COUNT_BIG 函数类似。两个函数唯一的差别是它们的返回值。COUNT 始终返回 int 数据类型值。C…
查看详情
返回组中的项数。COUNT 与 COUNT_BIG 函数类似。两个函数唯一的差别是它们的返回值。COUNT 始终返回 int 数据类型值。C…
查看详情
返回组中的项数。COUNT 与 COUNT_BIG 函数类似。两个函数唯一的差别是它们的返回值。COUNT 始终返回 int 数据类型值。C…
查看详情
相关文章
推荐游戏
风之谷
风之谷
游戏资讯 10.5M
下载
斗罗大陆3
斗罗大陆3
游戏资讯 566.9M
下载
冠军网球
冠军网球
游戏资讯 148.1M
下载
最佳炮手
最佳炮手
游戏资讯 68.1M
下载
如梦下弦月
如梦下弦月
游戏资讯 840.1M
下载
富甲封神传
富甲封神传
游戏资讯 263.0M
下载