代码之家  ›  专栏  ›  技术社区  ›  Parth Anjaria

获取2列sqlite的差之和

  •  0
  • Parth Anjaria  · 技术社区  · 7 年前

    表:id | begintimestamp | endtimestamp

         1 |      10000     |   11000
         2 |      20000     |   41000
    

    如上表所示:

    id的差异1-1000

    所有行的总和是22000。

    我尝试了以下查询:

    sqLiteDatabase.rawQuery("select sum(total) in (SELECT " +
                            "("+WorkoutDao.Properties.EndTimeStamp.columnName +"-"+
                            WorkoutDao.Properties.BeginTimeStamp.columnName+") as total FROM "
                            + WorkoutDao.TABLENAME + " where " +
                            WorkoutDao.Properties.CauseId.columnName + " = " + causeData.getId()+")";
    

    1 回复  |  直到 7 年前
        1
  •  2
  •   Tim Biegeleisen    7 年前

    你的问题似乎措辞错误。首先,我想说:

    SELECT SUM(endtimestamp - begintimestamp)
    FROM yourTable;
    

    String sql = "SELECT SUM(" + WorkoutDao.Properties.EndTimeStamp.columnName;
    sql += " - " + WorkoutDao.Properties.BeginTimeStamp.columnName + ") ";
    sql += "FROM " + WorkoutDao.TABLENAME;
    sqLiteDatabase.rawQuery(sql);