我试图将我的NSFetchRequest设置为核心数据以检索行"具有更高速率的唯一名称"
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
我们可以用fetch查询本身对它进行排序(按速率desc排序)吗?所以结果数组将是
Betty, 7.1, 2
Edward,5.5, 1
John, 4.3, 4
答案 0 :(得分:0)
将propertiesToGroupBy
的{{1}}属性设置为包含“name”。
注意:您可能还需要以某种方式聚合因子列,以便分组工作。