1
我得到表T
與2列作爲遵循例如:PostgreSQL的組計數不同使用快速方式
C1 C2
----------
A x
A x
A y
B x
B x
我要計數不同C1的數目爲C2的每個值。這個結果應該是這樣的:
C1 distinct count
----------------------
A 2 // count distinct x,x,y = 2
B 1 // count distinct x,x = 1
很容易用SQL查詢出來這樣
select C1, count(distinct C2) from T group by C1
然而,在postgresql COUNT(DISTINCT …) very slow討論,這個查詢產量表現不佳。我想按照該文章的建議使用改進的查詢(conut(*)(select distinct ...)),但我不知道如何使用group by構建查詢。
您錯過了GROUP BY c1 for第二查詢 –
@OtoShavadze謝謝您指出它我會更新它 –