2015-11-03 70 views
0

我想设置我的NSFetchRequest核心的数据检索“它有更大的速率唯一的名称”coredata - 取具有最大值

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"rate = max(rate)"]; 
[request setPropertiesToFetch:@[@"name"]]; 
request.predicate = predicate; 
[request setReturnsDistinctResults:YES]; 

但上面只返回一行具有的行不同行最高利率。

所需的样本

name | rate | factor | 
_______|______|________| 
John | 3.2 | 7 | 
Betty | 5.5 | 7 | 
Betty | 7.1 | 2 | 
Betty | 3.1 | 2 | 
Edward | 5.5 | 1 | 
Edward | 4.5 | 2 | 
John | 4.3 | 4 | 

我将如何与建立返回像

John, 4.3, 4 
Betty, 7.1, 2 
Edward,5.5, 1 

阵列中的要求,我们可以对它进行排序(排序率递减)的获取查询本身?因此,结果数组将

Betty, 7.1, 2 
Edward,5.5, 1 
John, 4.3, 4 

回答

0

设置你的NSFetchRequestpropertiesToGroupBy属性包括“名称”。

注意:您可能必须以某种方式汇总因子列,以便群组工作。

+0

感谢这个建议,让我试试.. – jpulikkottil

+0

顺便说一下,我无法得到'factor'的正确值。 – jpulikkottil