使用核心数据进行聚合和求和

时间:2012-01-07 06:51:24

标签: iphone core-data

我有两个实体:

  • 发票
  • 客户

我希望得到客户分组的发票总额。

在阅读了一些网页,教程和Apple文档后,我不清楚使用核心数据的更好方法是什么。

对我有用的当前解决方案是获取所有客户,并且对于每个客户,仅再次获取发票总额。即使它工作得很好,我也不喜欢作为明确的解决方案。

使用NSExpressionDescription可能是一种更好的方法,但我真的不太了解它。

我知道Core Data不是数据库,在纯SQL中这很容易,但我使用的是Core Data: - )

任何建议都将受到赞赏: - )

感谢,

PS。我有Marcus Zarra核心数据手册,但找不到解决方案/指导

1 个答案:

答案 0 :(得分:1)

只要您的数据集不是太大,我建议您使用[customer valueForKeyPath:@"@sum.invoices.amount"]之类的内容。如果您想尝试使用数据库计算的总和(Core Data在大多数情况下使用SQLite作为其后端),请查看http://iphonedevelopment.blogspot.com/2010/11/nsexpression.html