我想知道如何在 ORMLITE 中使用 MAX MIN 命令。
例如,假设我们有这张桌子
表名 = 示例
列 1 = id
列 2 = 名称
在 ORMLITE 中,我如何获得最大 ID?我看了 这里,但我没有完全理解..
有人可以告诉我有关 ORMLITE 中 Max min 的示例吗?
QueryBuilder<Account, Integer> qb = accountDao.queryBuilder();
qb.selectRaw("MIN(orderCount)", "MAX(orderCount)");
// the results will contain 2 string values for the min and max
results = accountDao.queryRaw(qb.prepareStatementString());
String[] values = results.getFirstResult();
我从文档中找到了这个
这就是我在代码中查询最大 ID 的方式:
QueryBuilder<Example, String> builder = dao.queryBuilder();
builder.orderBy("id", false); // true or false for ascending so change to true to get min id
Example example = dao.queryForFirst(builder.prepare());
String id = null;
if (example == null)
id = "-1";
else
id = example.getId();
在这里也可以找到几个替代答案: ORMLite - return item w/ maximum ID (or value)
您可以使用:
dao.queryRawValue("select MAX(columnName) from tableName")
它将直接返回 long 值。
参考: http: //ormlite.com/javadoc/ormlite-core/doc-files/ormlite_5.html#DAO-Methods
queryRawValue(字符串查询,字符串...参数)
执行返回单个值的原始查询(通常是聚合函数,如 MAX 或 COUNT)。如果查询没有返回单个 long 值,那么它将抛出 SQLException。