4

我想返回一个组的前 5 行。基本上我有一个表格,上面有一些州名和他们的城市,按州名分组。我想拥有该州排名前 5 的城市,而不是所有城市。

我怎么能用猪来做到这一点?先感谢您。

4

1 回答 1

11

在 a 之后GROUP BY,在 a FOREACH... 中你可以先做一个ORDER BY,然后LIMIT。这将首先按城市大小对每个组中的事物进行排序,然后拉出前 5 名。

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 回答