首页 > 解决方案 > 如何获取分组后的总行数?

问题描述

我想对一些数据进行分组,然后在将重复数据组合成组后计算行数。

数据:

idx 
7706
7706
1000

想要返回总计数 = 2

 select count(*) (
             select nb.idx
             group by nb.idx
             ) as test

首先想到的是这个。

然后我看到有人这样做

按 nb.idx 选择 count(*) over() 组

我不确定我是否完全理解第二个,但我想尝试各种方法并比较各种方法的速度。

标签: sqlpostgresql

解决方案


利用count(distinct idx)

select count(distinct idx)
from tablname

推荐阅读