繁体   English   中英

核心数据中不同值的总和

[英]Sum of distinct values in core data

我的应用程序中有一个核心数据模型,其中包含一些不明确的日期。 每个日期都有一个数量值。 现在我想在一个查询中获取每个日期的总和。 请注意,日期不是唯一的,意味着有多个2015/01/05,依此类推。

我是核心数据的新手,真的很难解决这个问题。 任何想法如何实现这一目标。

这样做的一种方法是使用NSExpression计算总和, propertiesToGroupBy限制总和每个不同日期的范围。 假设您的日期属性称为yearMonth ,而您想要求和的值称为quantity

NSExpression *sumExp = [NSExpression expressionWithFormat:@"sum:(quantity)"];
NSExpressionDescription *sumED = [[NSExpressionDescription alloc] init];
sumED.name = @"sumOfQuantity";
sumED.expression = sumExp;
sumED.expressionResultType = NSDoubleAttributeType;
NSError *error;
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"YourEntityName"];
request.propertiesToFetch = @[@"yearMonth", sumED];
request.propertiesToGroupBy = @[@"yearMonth"];
request.resultType = NSDictionaryResultType;
NSArray *results = [context executeFetchRequest:request error:&error];
NSLog(@"Sums of quantity by year/month are: %@", results);

结果应该是一个字典数组,每个字典都有两个键:“ yearMonth”作为日期的键,“ sumOfQuantity”作为对应的总和的键。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM