我想返回组的前 5 行。基本上,我有一个表格,其中包含一些州名及其城市,按州名分组。我想拥有该州的前 5 个城市,而不是所有城市。
我如何使用猪来做到这一点?提前谢谢你。
GROUP BY
后,在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);
}