如何在核心数据中进行此SQLite查询(iOS开发)?
SELECT DISTINCT VALUE_1, VALUE_2 FROM TABLE;
例如,它应该从该表返回(二重奏,三重奏)不同的值:
(123, 234, Car)
(123, 456, Bus)
(234, 456, Train)
(123, 456, Eletric Bus)
(234, 456, Subway)
它应该返回3行,因为
(123, 234)
是UNIQUE,所以(234, 456)
和(123, 456)
。(123, 234, Car)
(234, 456, Train) or (234, 456, Subway)
(123, 456, Eletric Bus) or (123, 456, Bus)
使用此代码,我只能区分一个值:
NSDictionary *entityProperties = [entity propertiesByName];
[request setPropertiesToFetch:[NSArray arrayWithObject:[entityProperties objectForKey:@"VALUE_1"]]];
[request setReturnsDistinctResults:YES];
[request setResultType:NSDictionaryResultType];
最佳答案
您可以指定一个以上的唯一属性来获取:
[request setPropertiesToFetch:@[@"VALUE_1", @"VALUE_2"]];
[request setReturnsDistinctResults:YES];
[request setResultType:NSDictionaryResultType];
(请注意,您可以提供属性名称列表,而不是属性
说明。)
这应该返回这样的字典数组:
[
{“VALUE_1” = 123; “VALUE_2” = 234},
{“VALUE_1” = 234; “VALUE_2” = 456},
{“VALUE_1” = 123; “VALUE_2” = 456},
]
但是,(我知道)没有办法另外提出获取请求
从“随机选择”的对象返回第三个属性。
关于iphone - 在核心数据(Objective-C,iPhone,Xcode)中选择不同的值(2个或更多),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17234420/