如何获得独特的计数而没有明显的

时间:2017-07-27 11:23:12

标签: postgresql

我必须在Postgresql表中计算一些独特的姓氏和名字。 问题是任务拒绝使用distinct。

我试图做的事情:

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

输出:

  

1 1 1 1 1等   (4939行)

但看起来我做错了什么,因为在输出中我必须只有两位带计数。 知道该怎么办吗?

1 个答案:

答案 0 :(得分:1)

您可以先使用名称或姓氏进行分组,然后计算该中间表,然后使用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