比方說,你有一個這樣的數組:通過集合上的聚合函數實現類似SQL的group-by的算法?
[
{'id' : 1, 'closed' : 1 },
{'id' : 2, 'closed' : 1 },
{'id' : 5, 'closed' : 1 },
{'id' : 7, 'closed' : 0 },
{'id' : 8, 'closed' : 0 },
{'id' : 9, 'closed' : 1 }
]
我想總結一下這個數據集(不使用SQL!),並且抓住了min
和max
ID,由該行的變化定義的每個組'closed'
。在輸出產生這樣的:
[
{'id__min' : 1, 'id__max' : 5, 'closed' : 1},
{'id__min' : 7, 'id__max' : 8, 'closed' : 0},
{'id__min' : 9, 'id__max' : 9, 'closed' : 1}
]
這僅僅是想我做的一個例子。我想實現類似於python的itertools.groupby
提供的東西,但要更全面。 (想定義我自己的聚合函數)。
我正在尋找指針,僞代碼,甚至任何PHP,Python或Javascript代碼(如果可能)。
謝謝!
我知道,我正在尋找一種通用的方式來實現另一種語言(PHP現在)。 – 2010-12-08 21:10:36
該文檔給出了低級代碼中等效的功能。隨意轉換。 – 2010-12-08 21:13:52