sql中如何取count(*)的值(sql中的count(*)和count(1))

 我来答
猪八戒网
2023-04-26 · 百度认证:重庆猪八戒网络有限公司官方账号
猪八戒网
猪八戒网(zbj.com)创建于2006年,现已形成猪八戒网、天蓬网和线下八戒工场的“双平台+一社区”服务模式,是中国领先的人才共享平台。
向TA提问
展开全部

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

Transact-SQL语法约定

语法

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

备注

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

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

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

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

参数

ALL

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

DISTINCT

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

expression

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

*

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

重要事项:

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

返回类型

int

示例

A.使用COUNT和DISTINCT

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

复制代码

USE;

GO

SELECTCOUNT(DISTINCTTitle)

FROM.Employee;

GO

下面是结果集:

复制代码

-----------

67

(1row(s)affected)

B.使用COUNT(*)

以下示例计算AdventureWorksCycles的雇员总数。

复制代码

USE;

GO

SELECTCOUNT(*)

FROM.Employee;

GO

下面是结果集:

复制代码

-----------

290

(1row(s)affected)

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

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

复制代码

USE;

GO

SELECTCOUNT(*),AVG(Bonus)

FROMSales.SalesPerson

WHERESalesQuota<25000;

GO

下面是结果集:

复制代码

--------------------------------

143472.1428

(1row(s)affected)

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式