2014-03-03 128 views
0

我有一個實體交易,其中有2個變量稱爲「ownedAccount」和「金額」。分組和總分組

我想什麼做的是ownedAccount做得到的所有事務的他們小組,並得到量的總和,各組

預先感謝您

回答

2

你必須創建一個NSFetchRequest和使用setPropertiesToGroupBy方法。

獲取屬性的總和,你必須使用的NSExpressionNSExpressionDescription組合:

NSExpression *amountExpr = [NSExpression expressionForKeyPath:@"amount"]; 
NSExpression *totalAmountExpr = [NSExpression expressionForFunction:@"sum:" arguments:@[amountExpr]]; 
NSExpressionDescription *totalAmountExprDesc = [[NSExpressionDescription alloc] init]; 
[totalAmountExprDesc setName:@"totalAmount"]; 
[totalAmountExprDesc setExpression: totalAmountExpr]; 
[totalAmountExprDesc setExpressionResultType:NSDoubleAttributeType]; 

更多信息有關NSExpressionApple Docs NSExpression


在創建NSFetchRequest你必須做出確保將結果設置爲NSDictionaryResultType並將totalAmountExprDesc添加到要提取的屬性。請注意,您還要將要分組的屬性添加到要提取的屬性。

NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"YourEntityName"]; 
[fetchRequest setResultType:NSDictionaryResultType]; 
[fetchRequest setPropertiesToFetch:@[@"ownedAccount", totalAmountExprDesc, ...]]; 
[fetchRequest setPropertiesToGroupBy:@[@"ownedAccount"]]; 

更多信息有關NSFetchRequestApple Docs NSFetchRequest

有了,你有基本的讀取請求使用您的查詢。

+0

Thx做了這個把戲 –