【问题标题】:Complex Query with SQL COUNT and SUM使用 SQL COUNT 和 SUM 的复杂查询
【发布时间】:2014-02-14 12:45:30
【问题描述】:

我正在尝试使用 Ormlite 构建以下查询:

SELECT Column1,
      COUNT(Column2),SUM(Column2)

  FROM Table

  WHERE Column3 = 1

  GROUP BY Column1;

我为此使用 QueryBuilder,但我无法计算出总和,结果仍然有一个完整的列表。

这个结果列表是什么类型的?由于 sum 和 count 不是表中的列,因此我无法将其设为 List。

【问题讨论】:

    标签: android sql android-sqlite ormlite


    【解决方案1】:

    我就是这样用的

    QueryBuilder<UsageStats, Integer> b = dao.queryBuilder();
    b.selectRaw("SUM(" + UsageStats.COLUMN_VALUE + ")");
    b.groupBy(UsageStats.COLUMN_TYPE);
    b.where().eq(UsageStats.COLUMN_TYPE, type.toString());
    dao.queryRawValue(b.prepareStatementString());
    

    【讨论】:

      【解决方案2】:

      我为此使用 QueryBuilder,但我无法计算出总和,结果仍然有一个完整的列表。

      一旦您使用COUNTSUM,那么您应该使用原始查询而不是返回实体的查询。使用原始查询,您可以直接获取字符串结果列,也可以使用行映射器映射选定的列和值。

      在此处查看文档:

      http://ormlite.com/docs/raw-queries

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-03-05
        • 1970-01-01
        • 1970-01-01
        • 2019-07-02
        相关资源
        最近更新 更多