2016-07-28 84 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