Sql 如何获得group by之后的总行数?
我想对一些数据进行分组,然后在将重复数据合并到组中后计算行数 数据: 要返回总计数=2吗Sql 如何获得group by之后的总行数?,sql,postgresql,Sql,Postgresql,我想对一些数据进行分组,然后在将重复数据合并到组中后计算行数 数据: 要返回总计数=2吗 select count(*) ( select nb.idx group by nb.idx ) as test 首先想到的是这个 然后我看到有人这样做 选择count(*)over() 按nb.idx分组 我不确定我是否完全理解第二种方法,但我想尝试各种方法并比较各种方法的速度 使用计数(不同的idx) 请尝试下面的查询
select count(*) (
select nb.idx
group by nb.idx
) as test
首先想到的是这个
然后我看到有人这样做
选择count(*)over()
按nb.idx分组
我不确定我是否完全理解第二种方法,但我想尝试各种方法并比较各种方法的速度 使用计数(不同的idx)
请尝试下面的查询
select count(*), nb.idx from table_name
group by nb.idx
是的,我刚刚意识到这一点。我在主查询中需要GROUPBY,但在这里我只是使用count,如果我删除GROUPBY子句,那么count(distinct)将返回总数,而不是每个组的计数。谢谢你的帮助
select count(distinct idx)
from tablname
select count(*), nb.idx from table_name
group by nb.idx