PostgreSQL 创建计数,计算不同的列

PostgreSQL create count, count distinct columns

刚接触 PostgreSQL 并尝试了一些计数查询。我正在计算 table 中所有不同的值。非常简单 -

CountD  Count
351     400

使用这样的查询:

SELECT COUNT(*)
COUNT(id) AS count_id,
COUNT DISTINCT(id) AS count_d_id
FROM table 

我发现我可以这样创建一个列:

SELECT COUNT(*) FROM (SELECT DISTINCT id FROM table) AS count_d_id

但是标题 (count_d_id) 显示不正确,我不确定如何添加额外的列。指导表示赞赏

您的原始查询为子查询而不是列设置了别名。你似乎想要:

SELECT COUNT(*) AS count_d_id FROM (SELECT DISTINCT id FROM table) t
 -- column alias --^                           -- subquery alias --^

这是正确的语法:

SELECT COUNT(id) AS count_id,
       COUNT(DISTINCT id) AS count_d_id
FROM table