在 Parse 数据库中查找最常出现的值
Posted
技术标签:
【中文标题】在 Parse 数据库中查找最常出现的值【英文标题】:Find the most frequently occurring value in Parse database 【发布时间】:2015-06-04 19:39:06 【问题描述】:我没有看到有关如何在 Parse 的表中查找最常出现的值的文档。如何进行此查询(ios 答案首选但不限于)
我在想我可以对 NSPredicate 使用某种复合查询,但我仍然不确定如何进行此计算。
【问题讨论】:
我没有足够的 Parse 知识来知道在查询中是否有一个好方法可以做到这一点,但如果你可以检索所有值,你可以将它们放入 NSCountedSet,并且查询计数最多的项目。 非常好的答案,非常感谢! 【参考方案1】:也许这可以帮助你:
NSArray *yourarray = [NSArray arrayWithObjects:@"X", @"Y", @"Z", nil];
NSCountedSet *yourset = [[NSCountedSet alloc] initWithArray:yourarray];
for (id item in yourset)
NSLog(@"Count of %@ is %lu", item, (unsigned long)[yourset countForObject:item]);
这可能是 NSPredicate 示例(没有尝试,因为我在 TextMate 中写过):
NSDictionary *dic1 = [NSDictionary dictionaryWithObject:[NSNumber numberWithInt:99] forKey:@"visitCount"];
NSDictionary *dic2 = [NSDictionary dictionaryWithObject:[NSNumber numberWithInt:2] forKey:@"visitCount"];
NSDictionary *dic3 = [NSDictionary dictionaryWithObject:[NSNumber numberWithInt:1003] forKey:@"visitCount"];
NSDictionary *dic4 = [NSDictionary dictionaryWithObject:[NSNumber numberWithInt:1005] forKey:@"visitCount"];
NSDictionary *dic5 = [NSDictionary dictionaryWithObject:[NSNumber numberWithInt:107] forKey:@"visitCount"];
NSArray *array = [NSArray arrayWithObjects:dic1, dic2, dic3, dic4, dic5, nil];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF.visitCount == %@.@max.visitCount", array];
NSArray *result = [array filteredArrayUsingPredicate:predicate];
NSLog(@"Max in objects: %@", result);
【讨论】:
有没有办法把它变成一个nspredicate?以上是关于在 Parse 数据库中查找最常出现的值的主要内容,如果未能解决你的问题,请参考以下文章
SQL Server:从一张表的 9 列中返回最常出现的值(和计数)
通过聚合在pandas组中查找频繁项的最有效方法是啥[重复]