是否可以使用Core Data框架在数据库中查询max,min和其他值?
答案 0 :(得分:8)
您需要在目标c中使用集合运算符。更多信息:http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/KeyValueCoding/Articles/CollectionOperators.html
答案 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];