COUNT 函数接受其他内建的聚集函数的参数列表中允许的相同的表达式作为它的参数,以及仅 COUNT 支持的星号(*)表示法。支持下列内建的表达式的类别作为 COUNT 的参数,如下列示例所示:
COUNT(times(gbasedbt.sysfragments.evalpos,2)) SELECT COUNT(a+1), COUNT(2*a), COUNT(5/a), COUNT(times(a, 2)) FROM myTable;
COUNT(BITAND(gbasedbt.systables.flags,1)) SELECT COUNT(BITAND(a,1)), COUNT(BITOR(8, 20)), COUNT(BITXOR(41, 33)), COUNT(BITANDNOT(20,-20)), COUNT(BITNOT(8)) FROM myTable;
COUNT(NULL::int)
COUNT(CASE WHEN stock.description = "baseball gloves" THEN 1 ELSE NULL END) SELECT COUNT(CASE WHEN s=14 THEN 1 ELSE NULL END) AS cnt14 FROM all_types; SELECT COUNT(NVL (ch, 'Addr unk')) FROM all_types; SELECT COUNT(NULLIF(ch, NULL)) FROM all_types;
COUNT(CURRENT_ROLE) COUNT(DATETIME (2007-12-6) YEAR TO DAY) SELECT COUNT("XX"), COUNT(99),COUNT("t") FROM sysmaster:sysdual; SELECT COUNT(SET{6, 9, 9, 4}) FROM sysmaster:sysdual; SELECT COUNT("ROW(7, 3, 6.0, 2.0)") FROM sysmaster:sysdual; SELECT COUNT(USER), COUNT(CURRENT), COUNT(SYSDATE) from sysmaster:sysdual; SELECT COUNT(CURRENT_ROLE), COUNT(DEFAULT_ROLE) from sysmaster:sysdual; SELECT COUNT(DBSERVERNAME), COUNT(TODAY), COUNT(CURRENT) from sysmaster:sysdual; SELECT COUNT(DATETIME (2007-12-6) YEAR TO DAY) from sysmaster:sysdual; SELECT COUNT(INTERVAL (16) DAY TO DAY) FROM sysmaster:sysdual; SELECT COUNT(5 UNITS DAY) FROM sysmaster:sysdual;
COUNT(LENGTH ('abc') + LENGTH (stock.description} COUNT(DBINFO('sessionid')) COUNT(user_proc()) --> Here proc() is a user-defined routine.
COUNT(gbasedbt.sysfragauth.fragment)
COUNT 函数 | 描述 |
---|---|
COUNT (*) | 返回满足查询的行的数目。如果您未指定 WHERE 子句,此函数返回表中行的总数目。 |
COUNT (DISTINCT) 或 COUNT (UNIQUE) | 返回指定的类中唯一的非 NULL 值的数目 |
COUNT (column) 或 COUNT (ALL column) | 返回指定的列中非 NULL 值的总数目 |
有些示例可帮助展示引用一列的不同形式的 COUNT 函数之间的差异。大部分下列示例查询对应的是 stores_demo 演示数据库中 orders 表的 ship_instruct 列。要获取关于 orders 表的模式以及 ship_instruct 列中的数据值的信息,请参阅 GBase 8s SQL 参考指南 中对演示数据库的描述。