在一个数据库学生表中,要分别统计男女生人数,用count()函数怎么实现啊

在一个数据库学生表中,要分别统计男女生人数,用count()函数怎么实现啊,第1张

加班加的累了 给你解决一下假设 你的数据库 有一个sex 字段表示‘男’或者‘女’, 表为 tabselect (case sex when '男' then select count(1) from tab end) 男生总数,(case sex when '女' then select count(1) from tab end) 女生总数from tab

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

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

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

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

COUNT()

函数返回匹配指定条件的行数

COUNT(column_name)

函数返回指定列的值的数目(NULL

不计入)

我们拥有下列

"Orders"

表:

O_Id

OrderDate

OrderPrice

Customer

1

2008/12/29

1000

Bush

2

2008/11/23

1600

Carter

3

2008/10/05

700

Bush

4

2008/09/28

300

Bush

5

2008/08/06

2000

Adams

6

2008/07/21

100

Carter

计算客户

"Carter"

的订单数。

SQL

语句:

SELECT

COUNT(Customer)

AS

CustomerNilsen

FROM

Orders

WHERE

Customer='Carter'

以上

SQL

语句的结果是

2,因为客户

Carter

共有

2

个订单:

CustomerNilsen

2

返回组中的项数。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)

FROMEmployee;

GO

下面是结果集:

复制代码

-----------

67

(1row(s)affected)

B使用COUNT()

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

复制代码

USE;

GO

SELECTCOUNT()

FROMEmployee;

GO

下面是结果集:

复制代码

-----------

290

(1row(s)affected)

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

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

复制代码

USE;

GO

SELECTCOUNT(),AVG(Bonus)

FROMSalesSalesPerson

WHERESalesQuota

GO

下面是结果集:

复制代码

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

1434721428

(1row(s)affected)

以上就是关于在一个数据库学生表中,要分别统计男女生人数,用count()函数怎么实现啊全部的内容,包括:在一个数据库学生表中,要分别统计男女生人数,用count()函数怎么实现啊、sql语句中count的用法、mysql中count的用法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10198877.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存