在 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 列中返回最常出现的值(和计数)

仅从向量列表中获取最常出现的值

在 SSE 寄存器中查找最常出现的元素

通过聚合在pandas组中查找频繁项的最有效方法是啥[重复]

在没有 VIEW SERVER STATE 权限的情况下查找 SQL Server 2014 中最常访问的表

查找分组的最大计数