2015-11-03 5 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

Установите propertiesToGroupBy свойство вашего NSFetchRequest включить «имя».

Примечание: вам, возможно, придется также заполнить колонку факторов, чтобы группа работала.

+0

Благодаря предложению, позвольте мне попробовать. – jpulikkottil

+0

btw Я не смог получить правильное значение «фактора». – jpulikkottil

Смежные вопросы