0
我想有SQL函数的核心数据等效的:重复计数
SELECT species, sex, COUNT(*) FROM Bird GROUP BY species, sex;
请求指通常会以下输入返回此
+---------+------+----------+
| species | sex | COUNT(*) |
+---------+------+----------+
| Bus | m | 2 |
| Car | f | 1 |
+---------+------+----------+
:
INSERT INTO Bird VALUES ('BlueBird','Car','f');
INSERT INTO Bird VALUES ('RedBird','Bus','m');
INSERT INTO Bird VALUES ('RedBird','Bus','m');
我已经完成了不同的请求,但我在计算(*)时遇到了问题。 以下是我有:
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Bird" inManagedObjectContext:managedObjectContext];
[request setEntity:entity];
[request setReturnsDistinctResults:YES];
[request setResultType:NSDictionaryResultType];
NSDictionary *entityProperties = [entity propertiesByName];
NSMutableArray *properties = [NSMutableArray arrayWithObject:[entityProperties objectForKey:@"species"]];
[properties addObject:[entityProperties objectForKey:@"sex"]];
[request setPropertiesToFetch: properties];
什么我要补充?
非常感谢
谢谢你的回答本笃。其实我已经考虑过这样的算法,但最终它在大型数据集上并不是很快。也许我应该试着微调它,但我认为在一个请求中获得所有内容会更有效率。 – lorenzo 2011-02-04 13:19:45