Почти всем, кто использует CoreData, рано или поздно приходится создавать запросы с _агрегатными функциями_ и _группировками_. Однако, синтаксис таких запросов в CoreData сложен для понимания и неоправданно многословен. Используя [конструктор запросов][1] мы можем, например, сделать вот такой запрос:
NSDictionary *productTotalSumAndAveragePriceGroupedByCountries =
[[[[[Product all
] aggregatedBy:@[
@[kAggregateSum, @"amount"],
@[kAggregatorAverage, @"price"]]
] groupedBy:@[@"country"]
] having:predicate
] execute];
[О том как это работает и какой профит можно из этого извлечь][2]
[1]:
https://github.com/appleios/ALCoreDataManager#query-builder
[2]:
http://habrahabr.ru/post/265319/#habracut