文档首页/ 云数据库 GaussDB/ 开发指南(分布式_V2.0-8.x)/ FAQ/ count(*)和count(column)的区别是什么?
更新时间:2024-11-12 GMT+08:00
分享

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;

相关文档