COUNT(*) 函数

COUNT (*) 函数返回满足 SELECT 语句的 WHERE 子句的行数。

下列示例找到在 stock 表中有多少行在 manu_code 列中有值 HRO
SELECT COUNT(*) FROM stock WHERE manu_code = 'HRO';
下列示例查询“系统监视接口”(SMI)表之一来找到 customer 表中 extent 的数目:
SELECT COUNT(*) FROM sysextents WHERE dbs_name = 'stores' AND tabname = customer";
您可使用 COUNT(*) 作为此一般格式的查询中的 Projection 子句来从 SMI 表获取信息。要了解关于 sysextents 和其他 SMI 表的信息,请参阅描述 sysmaster 数据库的 GBase 8s 管理员参考手册 章节。
如果 SELECT 语句没有 WHERE 子句,则 COUNT (*) 函数返回该表中行的总数。下列示例找到在 stock 表中有多少行:
SELECT COUNT(*) FROM stock;
如果 SELECT 语句包含 GROUP BY 子句,则 COUNT (*) 函数反映在每一组中值的数目。下列示例按第一个名称分组;如果数据库服务器发现同一名称多次出现,则选择这些行:
SELECT fname, COUNT(*) FROM customer GROUP BY fname
          HAVING COUNT(*) > 1;

如果一行或多行的值为 NULL,则 COUNT (*) 函数在计数中包括 NULL 列,除非 WHERE 子句显式地省略它们。