Sql 合并不评估第二个参数?

Sql 合并不评估第二个参数?,sql,postgresql,count,aggregate-functions,Sql,Postgresql,Count,Aggregate Functions,我正在尝试运行以下查询: SELECT COALESCE(count(percent_cov), 0) FROM sample_cov WHERE target = 542 GROUP BY percent_cov HAVING percent_cov < 10 选择合并(计数(百分比),0) 来自样本_cov 其中target=542 按百分比分组 百分含量小于10的 基本上,我想显示此统计值小于10的次数,如果计数为0,则返回0而不是null。如果计数大于0,我得到我想要的数字作为

我正在尝试运行以下查询:

SELECT COALESCE(count(percent_cov), 0)
FROM sample_cov
WHERE target = 542
GROUP BY percent_cov
HAVING percent_cov < 10
选择合并(计数(百分比),0)
来自样本_cov
其中target=542
按百分比分组
百分含量小于10的

基本上,我想显示此统计值小于10的次数,如果计数为0,则返回0而不是null。如果计数大于0,我得到我想要的数字作为结果,但是如果计数为0,我仍然得到返回的空值。(如果我将第二个参数设置为合并为正数,也是一样的)。我做错了什么?

我按照您希望的方式重新编写了您的查询:

SELECT count(*) AS ct
FROM   sample_cov
WHERE  target = 542
AND    percent_cov < 10;

您需要在
HAVING
子句中再次拼写表达式。输出列名仅在按排序的和按分组的中可见,而不在其中或具有的中可见。我按照您想要的方式重新编写了查询:

SELECT count(*) AS ct
FROM   sample_cov
WHERE  target = 542
AND    percent_cov < 10;

您需要在
HAVING
子句中再次拼写表达式。输出列名仅在按排序的和按分组的中可见,而不是在的位置或具有的

中可见。谢谢!我想我让事情变得比需要的更难了。@user1453804:是的,我想。:)但是,一旦你知道如何编程,编程中的大多数事情似乎都很简单。这确实有效,谢谢!我想我让事情变得比需要的更难了。@user1453804:是的,我想。:)但是,一旦你知道怎么做,编程中的大多数事情似乎都很容易。