如何在Realm中获得最常见的值?
例如:
Jack
Ryan
Lee
Jack
杰克是最常去的人。
答案 0 :(得分:0)
记住! Realm是一个NoSQL对象存储库!它重量轻,速度快,而且它存储的对象只是普通的Java对象。 DB引擎无需像这样“优化”计算。你可以很容易地做到这一点:
public String getMostCommonName(Realm realm) {
RealmResults<Person> results = realm.where(Person.class).distinct("name");
long maxOccurances = 0;
Person mostCommon = null;
for (Person p : results) {
long n = realm.where(Person.class).equalTo("name", p.getName()).count();
if (n > maxOccurances) {
mostCommon = p;
maxOccurances = n;
}
}
return mostCommon.getName();
}