为什么使用SUM(mycolumn)突然使mycolumn不存在

时间:2015-04-21 17:20:33

标签: android sqlite

当我尝试在我的查询中使用聚合函数IllegalArgumentException时,我得到SUM(),否则它会正常工作。

不使用SUM()我的colPayDue被正确引用,我得到了正确的结果,但是当我尝试在查询中集成SUM()时,突然找不到它。我显然做错了什么但是什么?

有人能告诉我我做错了吗?

    Cursor cur = db.rawQuery("SELECT  " + " _id, " + colCompClass + "," + colName + ", SUM(" + colPayDue + ")," + colDateDue + " FROM " + viewComps + " WHERE " + colDateDue + "=" + "( SELECT MIN (" + colDateDue + ") FROM " + viewComps + " WHERE " + colDateDue + ">=?)" + " GROUP BY " + colDateDue + "," + colCompClass, params);

1 个答案:

答案 0 :(得分:1)

查询输出列的名称通常是您在SELECT子句中编写的表达式。

所以对于这个查询:

SELECT _id,
       Name,
       SUM(PayDue)
FROM ...

三个输出列的名称为_idNameSUM(PayDue)

如果要为表达式指定其他名称,请使用AS:

SELECT _id,
       Name,
       SUM(PayDue) AS PayDue
FROM ...