2016-07-28 85 views
0

我的表架构的(国家字符串,市字符串,大小INT)蜂巢表达不在组

这里是我的输入数据

Karnataka,Bangalore,200 
Karnataka,Mysore,50 
Karnataka,Bellary,100 
Karnataka,Mangalore,10 
Andhra pradesh,Chittoor, 25 
Andhra pradesh,nellore, 15 
Andhra pradesh,guntur, 20 
Andhra pradesh,tirupathi, 30 
Andhra pradesh,vizag, 35 
Andhra pradesh,kadapa, 45 

我想要检索的顶部2全市状态随着大小,我想输出如下。

(Andhra pradesh,{(35),(30)},{(vizag),(tirupathi)}) 
(Karnataka,{(200),(100)},{(Bangalore),(Bellary)}) 

我已经写了下面的查询,但我得到错误作为表达式不按大小组,PLZ帮助我。

select * from statefile groyp by state,city order by size limit 2; 

在此先感谢。

回答

1

你会使用row_number()

select sf.* 
from (select sf.*, 
      row_number() over (partition by state order by size desc) as seqnum 
     from statefile sf 
    ) sf 
where seqnum <= 2; 
+0

它会工作,如果你只是状态而非城市化分区。看看列名,我已经编辑过这个问题。 –

+1

@charantej。 。 。谢谢。 –

+0

感谢charan Gordonits工作:) – user2572432