如何在没有不同的情况下获得唯一的计数

问题描述:

我必须在Postgresql表中计数许多独特的姓氏和名称。 问题是不同的使用被任务拒绝。如何在没有不同的情况下获得唯一的计数

我试图这样做:

SELECT COUNT(SURNAME), COUNT (NAME) FROM PEOPLE GROUP BY NAME, SURNAME; 

输出:

1 1 1 1 1和等 (4939行)

但它看起来像我一样错误的是因为在输出中我只能得到两位数字。 任何想法如何处理它?

+0

请向我们展示样本数据和预期产出。 –

您可以使用DISTINCT首先按名称或姓氏进行分组,然后对中间表进行计数。

SELECT 
    (SELECT COUNT(*) FROM 
     (SELECT SURNAME FROM PEOPLE GROUP BY SURNAME) t) AS surname_cnt, 
    (SELECT COUNT(*) FROM 
     (SELECT NAME FROM PEOPLE GROUP BY NAME) t) AS name_cnt 
+0

是的。万分感谢。它工作正常。 – tank0412