如何组合和汇总greenDAO中重复行的值(类似于sql中的sum和group by)?

时间:2016-06-29 12:57:35

标签: java android orm greendao

我创建了一个表,它包含重复的值,如下所示:

id     name   mileage
1021  toyota   534
1021  toyota   783
1022  mazda    519
1023  nissan   559

在SQL中,我会成功执行:

SELECT id ,  SUM(mileage) as TotalMileage FROM vehicleTable group By id

我想知道如何使用greenDAO来做到这一点。这是我的代码

public  List<Vehicles> LoadVehicleData() {

    List<VehicleEntity> items = new ArrayList<>();

    String sql = "SELECT * FROM vehicleTable ";
    Cursor c = vehicleDao.getDatabase().rawQuery(sql, null);
    while (c.moveToNext()) {
        VehicleEntity ve = new VehicleEntity(
                c.getLong(0),
                new Date(),
                mileage = c.getInt(2),
                model = c.getString(3)
                // break;
        );
        items.add(ve);
    }
    return items;
}

1 个答案:

答案 0 :(得分:0)

GreenDAO对于使用实体很有用,但对于这样的查询,我认为最好直接使用SQLite,而不需要greenDAO的中介。

Here你可以看到它由业主解释。