gpt4 book ai didi

sql - 为什么计数结果与正常选择行计数不同?在极光 Postgresql 中

转载 作者:行者123 更新时间:2023-11-29 12:23:15 26 4
gpt4 key购买 nike

我正在使用 Aurora 的 Postgresql,搜索带有星号的记录时,正常计数查询的数量与行数不匹配。这是什么原因?

该系统使用 AWS Aurora 和 9.6.8 版本的 Postgresql 作为引擎。如下图,Postgresql的正常搜索结果和count结果不匹配。

正常搜索
SELECT * FROM samples WHERE date BETWEEN '2019-09-25 00:00:00' AND '2019-09-26 00:00:00';

结果返回17613条记录。

计数查询
SELECT COUNT(*) FROM samples WHERE date BETWEEN '2019-09-25 00:00:00' AND '2019-09-26 00:00:00';

17875 作为计数查询返回。

此表有多个主键和多个允许空值的列。为什么 SELECT *SELECT COUNT(*) 的结果数不同?

顺便说一句,如果指定表名或主键,它与普通搜索中的记录数匹配。

SELECT COUNT(sample_id) FROM samples WHERE date BETWEEN '2019-09-25 00:00:00' AND '2019-09-26 00:00:00';

SELECT COUNT(samples) FROM samples WHERE date BETWEEN '2019-09-25 00:00:00' AND '2019-09-26 00:00:00';

17613 作为计数查询返回。

我要哭了,因为我的工作不成功。谢谢。

最佳答案

函数count(<column_name>)返回非 NULL 值的数量。 count(*)返回 NULL 和非 NULL 值的总数。

关于sql - 为什么计数结果与正常选择行计数不同?在极光 Postgresql 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58217629/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com