如何在没有不同的情况下获得唯一的计数
问题描述:
我必须在Postgresql表中计数许多独特的姓氏和名称。 问题是不同的使用被任务拒绝。如何在没有不同的情况下获得唯一的计数
我试图这样做:
SELECT COUNT(SURNAME), COUNT (NAME) FROM PEOPLE GROUP BY NAME, SURNAME;
输出:
1 1 1 1 1和等 (4939行)
但它看起来像我一样错误的是因为在输出中我只能得到两位数字。 任何想法如何处理它?
答
您可以使用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
请向我们展示样本数据和预期产出。 –