我有一个电话号码字段,例如:
**phonenumbers**
0729643482
0723412678
0734231567
0745297334
0729643482
0720606706
0729643482
0720606706
有成千上万的条目。我想获得数量最多的前 10 个电话号码。这可以显示为
**phonenumber count**
0729643482 3
0720606706 2
.
.
.
(entry 10) 1
从我了解到的一些相关问题中,我可以使用 rank() 然后分组,但我以前从未这样做过。这是我所拥有的:
select phonenumber,cnt FROM
(select phonenumber, cnt, rank() over (partition by phonenumber order by cnt desc) rnk
from (select distinct phonenumber, count(phonenumber) cnt
from ozekiout
group by phonenumber
order by phonenumber, count(phonenumber) desc)
)
where rnk = 1;