2

我想知道如何在 ORMLITE 中使用 MAX MIN 命令。

例如,假设我们有这张桌子

表名 = 示例
列 1 = id
列 2 = 名称

在 ORMLITE 中,我如何获得最大 ID?我看了 这里,但我没有完全理解..

有人可以告诉我有关 ORMLITE 中 Max min 的示例吗?

4

3 回答 3

9
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();

我从文档中找到了这个

于 2014-02-26T21:58:45.150 回答
4

这就是我在代码中查询最大 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)

于 2013-10-14T01:37:47.060 回答
0

您可以使用:

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。

于 2015-10-08T07:18:56.543 回答