在NSFetchRequest的groupby中使用substring函数

时间:2013-10-25 06:46:26

标签: ios sql objective-c core-data

由于我是Core-Data的新手,我希望以核心数据表达式的形式提供以下SQL查询。

  

SELECT Date,SUM(Amount)FROM Transactions GROUP BY   SUBSTRING(日期,0,7);

我编写了以下代码,这些代码大致与我之前描述的相似,但 group by 开关的子字符串部分除外。

NSExpression *keyPathExpression = [NSExpression expressionForKeyPath:@"amount"];
NSExpression *sumOfAmountExpression = [NSExpression expressionForFunction:@"sum:" arguments:[NSArray arrayWithObject:keyPathExpression]];

NSExpressionDescription *sumOfAmountField = [[NSExpressionDescription alloc] init];
[sumOfAmountField setName:@"sumOfAmount"];
[sumOfAmountField setExpression:sumOfAmountExpression];
[sumOfAmountField setExpressionResultType:NSDoubleAttributeType];

[request setPropertiesToGroupBy:[NSArray arrayWithObjects:@"date", nil]];
[request setResultType:NSDictionaryResultType];
[request setPropertiesToFetch:[NSArray arrayWithObjects:sumOfAmountField, @"date", nil]];

有没有人知道如何编辑代码以获得与SQL查询类似的结果?

0 个答案:

没有答案