使用objective-c中的核心数据获取行中的所有其他值,以获得组的最大值
我是基于这个链接工作的 仅获取两个列值。 MaxDate和clientName。 我需要所有其他值,如client_id,MaxDate的同一行中的数字 我使用了相同的代码。请建议我获取同一行的其他属性 与sqlite查询等效 选择*,最大值(日期)\ “按客户端名称从IM_信息组;” 我用过这个代码使用objective-c中的核心数据获取行中的所有其他值,以获得组的最大值,objective-c,core-data,nspredicate,nsfetchrequest,Objective C,Core Data,Nspredicate,Nsfetchrequest,我是基于这个链接工作的 仅获取两个列值。 MaxDate和clientName。 我需要所有其他值,如client_id,MaxDate的同一行中的数字 我使用了相同的代码。请建议我获取同一行的其他属性 与sqlite查询等效 选择*,最大值(日期)\ “按客户端名称从IM_信息组;” 我用过这个代码 NSExpression *dateKeyExpression = [NSExpression expressionForKeyPath:@"date"]; NSExpression *
NSExpression *dateKeyExpression = [NSExpression expressionForKeyPath:@"date"];
NSExpression *maxDateExpression = [NSExpression expressionForFunction:@"max:" arguments:[NSArray arrayWithObject:dateKeyExpression]];
NSExpressionDescription *maxDateED = [[NSExpressionDescription alloc] init];
[maxDateED setExpression:maxDateExpression];
[maxDateED setName:@"maxDate"];
[maxDateED setExpressionResultType:NSDateAttributeType];
NSAttributeDescription *clientName = [[self entityDescription].attributesByName objectForKey:@"clientName"];
[request setPropertiesToFetch:[NSArray arrayWithObjects:clientName, maxDateED, nil]];
[request setPropertiesToGroupBy:[NSArray arrayWithObject:clientName]];
[request setResultType:NSDictionaryResultType];
你有没有试着把他们添加到你想要的名字列表中。但是它的抛出错误如下错误“***由于未捕获的异常'NSInvalidArgumentException'终止应用程序”,原因:“查询中带有GROUP BY组件的SELECT子句只能包含GROUP BY或聚合函数中命名的属性”我猜您需要在上述代码中执行fetch请求,请求是获取请求的对象。