通过核心数据查询最大值,最小值和其他值

时间:2011-01-25 01:11:22

标签: ios cocoa-touch core-data

是否可以使用Core Data框架在数据库中查询max,min和其他值?

3 个答案:

答案 0 :(得分:8)

答案 1 :(得分:0)

您确实可以NSFetchRequest计算此类值。您需要设置获取请求以返回NSDictionaryResultType结果,并创建适当的NSExpressionDescription对象来描述您所追求的操作(例如,最小值,最大值,总和等)。

看一下Apple的核心数据编程指南中的工作示例:http://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CoreData/Articles/cdFetching.html#//apple_ref/doc/uid/TP40002484-SW6

答案 2 :(得分:0)

您可以使用query builder,这样您就可以按照以下方式编写请求:

NSDictionary *productTotalSumAndAveragePriceGroupedByCountries = 
[[[[[Product all
] aggregatedBy:@[
                 @[kAggregateSum, @"amount"],
                 @[kAggregatorAverage, @"price"]]
] groupedBy:@[@"country"]
] having:predicate
] execute];