核心数据中的SQL请求

时间:2011-07-29 18:27:45

标签: ios core-data request fetch

我知道如何在SQL中编写我需要的请求,但无法找到使用Core Data实现它的方法,或者如果我找到一个解决方案,那将是丑陋和混乱,使用20多行代码......

我的请求是SELECT MAX(distance) FROM DataTrip WHERE idTrip = (SELECT DISTINCT(idTrip) FROM DataTrip);

任何想法如何使用NSSortDescriptor,NSPredicate,NSExpressionDescription等使用Core Data?

谢谢!

更新1

DataTrip对象的数据模型:

@interface DataTrip : NSManagedObject {
@private
}
@property (nonatomic, retain) NSNumber * speed;
@property (nonatomic, retain) NSNumber * heading;
@property (nonatomic, retain) NSNumber * longitude;
@property (nonatomic, retain) NSNumber * timestamp;
@property (nonatomic, retain) NSNumber * latitude;
// More properties here
@property (nonatomic, retain) NSNumber * idTrip;
@property (nonatomic, retain) NSNumber * distance;

@end

所以我会在我的数据库中有多个具有相同idTrip的行,并且我希望每个idTrip的距离最大值。

1 个答案:

答案 0 :(得分:2)

这个问题很难回答,因为它取决于SQL和核心数据彼此之间有任何关系的假设。事实上,他们彼此之间没什么关系。核心数据不是数据库,不应被视为或被视为一个数据库。完成在问题中指定的任务的方式高度依赖于您创建的数据模型。没有这些信息,就无法提供更多有用的信息。