【发布时间】:2011-01-25 01:11:22
【问题描述】:
是否可以使用 Core Data 框架查询数据库的最大值、最小值和其他值?
【问题讨论】:
标签: ios cocoa-touch core-data
是否可以使用 Core Data 框架查询数据库的最大值、最小值和其他值?
【问题讨论】:
标签: ios cocoa-touch core-data
【讨论】:
您确实可以让NSFetchRequest 计算这些值。您需要将获取请求设置为返回 NSDictionaryResultType 结果,并创建适当的 NSExpressionDescription 对象来描述您所追求的操作(例如最小值、最大值、总和等)。
查看 Apple 核心数据编程指南中的示例:http://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CoreData/Articles/cdFetching.html#//apple_ref/doc/uid/TP40002484-SW6。
【讨论】:
你可以使用query builder,它允许你这样写你的请求:
NSDictionary *productTotalSumAndAveragePriceGroupedByCountries =
[[[[[Product all
] aggregatedBy:@[
@[kAggregateSum, @"amount"],
@[kAggregatorAverage, @"price"]]
] groupedBy:@[@"country"]
] having:predicate
] execute];
【讨论】: