当我尝试在我的查询中使用聚合函数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);
答案 0 :(得分:1)
查询输出列的名称通常是您在SELECT子句中编写的表达式。
所以对于这个查询:
SELECT _id,
Name,
SUM(PayDue)
FROM ...
三个输出列的名称为_id
,Name
和SUM(PayDue)
。
如果要为表达式指定其他名称,请使用AS:
SELECT _id,
Name,
SUM(PayDue) AS PayDue
FROM ...