[英]coredata - fetch distinct rows having maximum value
我正在嘗試將我的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
我們是否可以使用獲取查詢本身對其進行排序(按速率降序排序)? 所以結果數組將是
Betty, 7.1, 2
Edward,5.5, 1
John, 4.3, 4
將您的NSFetchRequest
的propertiesToGroupBy
屬性設置為包括“名稱”。
注意:為了使分組依據起作用,您可能還必須以某種方式匯總因子列。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.