通过 Core Data 查询 max、min 等
Posted
技术标签:
【中文标题】通过 Core Data 查询 max、min 等【英文标题】:Querying max, min and other via Core Data 【发布时间】:2011-01-25 01:11:22 【问题描述】:是否可以使用 Core Data 框架查询数据库的最大值、最小值和其他值?
【问题讨论】:
【参考方案1】:您需要在目标 c 中使用集合运算符。更多信息在这里:http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/KeyValueCoding/Articles/CollectionOperators.html
【讨论】:
【参考方案2】:您确实可以让NSFetchRequest
计算这些值。您需要将获取请求设置为返回 NSDictionaryResultType
结果,并创建适当的 NSExpressionDescription
对象来描述您所追求的操作(例如最小值、最大值、总和等)。
查看 Apple 核心数据编程指南中的示例:http://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CoreData/Articles/cdFetching.html#//apple_ref/doc/uid/TP40002484-SW6。
【讨论】:
【参考方案3】:你可以使用query builder,它允许你这样写你的请求:
NSDictionary *productTotalSumAndAveragePriceGroupedByCountries =
[[[[[Product all
] aggregatedBy:@[
@[kAggregateSum, @"amount"],
@[kAggregatorAverage, @"price"]]
] groupedBy:@[@"country"]
] having:predicate
] execute];
【讨论】:
以上是关于通过 Core Data 查询 max、min 等的主要内容,如果未能解决你的问题,请参考以下文章
NSPredicate Core Data iOS 中的子查询
matlab如何不用max和min找出矩阵内的最大值和最小值
Laravel - 如何优化 MIN - MAX - orderBy 查询?