DBFlow Android选择最常用的值
我想使用dbFlow选择最常用的名称。 在SQLite中,它将是:DBFlow Android选择最常用的值,android,sqlite,dbflow,Android,Sqlite,Dbflow,我想使用dbFlow选择最常用的名称。 在SQLite中,它将是: SELECT `Employee`.name FROM `Employee` GROUP BY `Employee`.name HAVING COUNT(*) = (SELECT MAX(cn) FROM (SELECT `Employee`.name, COUNT(*) AS cn FROM `Employee` GROUP BY `name`)) 我试过: SQLite
SELECT `Employee`.name
FROM `Employee`
GROUP BY `Employee`.name
HAVING COUNT(*) =
(SELECT MAX(cn) FROM
(SELECT `Employee`.name, COUNT(*) AS cn
FROM `Employee`
GROUP BY `name`))
我试过:
SQLite.select(Employee_Table.name)
.from(Employee.class)
.groupBy(Employee_Table.name)
.having(Method.count().eq(
SQLite.select(
Method.max("cn")).from(
SQLite.select(Employee_Table.name, Method.count().as("cn"))
.from(Employee.class)
.groupBy(Employee_Table.name)
)
)
)
但是Method.max不接受别名。还是只运行原始查询?Method.max只接受属性 您可以使用创建一个
public static Property<Long> name(String value) {
return new Property<Long>(null, value) {
@Override
public String toString() {
return nameAlias.nameRaw();
}
};
}
Method.max(name("cn"))