数据库中count(all 表达式)函数怎麽用啊

如题所述

COUNT 返回组中项目的数量。 语法 COUNT ( { [ ALL | DISTINCT ] expression ] | * } ) 参数 ALL对所有的值进行聚合函数运算。ALL 是默认设置。DISTINCT指定 COUNT 返回唯一非空值的数量。expression一个表达式,其类型是除 uniqueidentifier、text、image 或 ntext 之外的任何类型。不允许使用聚合函数和子查询。*指定应该计算所有行以返回表中行的总数。COUNT(*) 不需要任何参数,而且不能与 DISTINCT 一起使用。COUNT(*) 不需要 expression 参数,因为根据定义,该函数不使用有关任何特定列的信息。COUNT(*) 返回指定表中行的数量而不消除副本。它对每行分别进行计数,包括含有空值的行。 以上是SQL Server联机丛书的解释,也就是说,Count聚合函数的All参数是默认的,不用去管,表达式是指你需要查询列数的表达式,例如你要查成绩表中有多少成绩数据,可以使用Select Count(*) from 成绩表 如果你要查成绩表中按成绩分类有多少类成绩数据,则可以使用Select Count(DISTINCT 成绩) from 成绩表 这里加DISTINCT 就是说,只查询不同成绩的数据用于分类,如果表中的数据是:成绩 姓名 科目100 张三 数学90 张三 语文90 李四 数学80 李四 语文那么结果就是1009080 如果要查各成绩分类中各有多少个学生,可以使用:Select 成绩,Count(*) from 成绩表 Group By 成绩则结果为:100 190 280 1
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-16
举个简单的例子 select count(*) from table_name 可以求列数;
第2个回答  2013-09-16
count(*)可以求出所有的列的总和
相似回答