云数据库 GAUSSDB-count(*)和count(column)的区别是什么?

时间:2024-11-13 14:45:11

count(*)和count(column)的区别是什么?

答:count()函数用于计算行数的聚合函数,区别如下:

  • count(*)统计包括了所有列的行数,在统计结果时不会忽略值为NULL的数据。
  • count(column)只包括列名那一列,在统计结果时会忽略值为NULL的数据。
--建表并插入数据。
gaussdb=# CREATE TABLE test(c1 int);
gaussdb=# INSERT INTO test VALUES(1),(2),(3);
gaussdb=# INSERT INTO test VALUES(NULL);

--count(*)统计行数,不忽略值为NULL的数据。
gaussdb=# SELECT count(*) FROM test;
 count 
-------
     4
(1 row)

--count(column)统计行数,忽略值为NULL的数据。
gaussdb=# SELECT count(c1) from test;
 count 
-------
     3
(1 row)

--删除。
gaussdb=# DROP TABLE test;
support.huaweicloud.com/centralized-devg-v8-gaussdb/gaussdb-42-1824.html