4

グループの上位 5 行を返したい。基本的に、州名でグループ化されたいくつかの州名とその都市を含むテーブルがあります。すべてではなく、その州の上位 5 都市が必要です。

豚を使用してこれを行うにはどうすればよいですか? 前もって感謝します。

4

1 に答える 1

11

の後、 ...GROUP BYの中で、最初に、次にFOREACHを行うことができます。これは、各グループ内のものを最初に都市の規模でソートし、次に上位 5 つを引き出します。ORDER BYLIMIT

B = GROUP A BY state;
C = FOREACH B {                          
   DA = ORDER A BY citysize DESC;                
   DB = LIMIT DA 5;                         
   GENERATE FLATTEN(group), FLATTEN(DB.citysize), FLATTEN(DB.cityname);
}
于 2012-11-29T19:10:07.743 に答える