有没有一种方法来计算一些不同的值?

有没有一种方法来计算一些不同的值?

问题描述:

在PostgreSQL 9.4我有一个表:有没有一种方法来计算一些不同的值?

id   p_id 
PK  integer 
----------------- 
1   1 
2   1 
............. 
123122  2233 

有没有办法只有一个查询计数表中的所有不同p_id值(不使用子查询)。我可以*使用任何窗口功能。

可以使用distinct修改在count功能:

SELECT COUNT(DISTINCT p_id) FROM mytable 
+0

酷,它的工作原理。 – user3663882

+1

为什么downvote? – Mureinik

+0

有趣的是,为什么somenone downvote的职位?这是一个不好的方法吗? – user3663882