Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android中的Sqlite聚合最大值(sum())错误_Android_Sqlite_Misuse - Fatal编程技术网

android中的Sqlite聚合最大值(sum())错误

android中的Sqlite聚合最大值(sum())错误,android,sqlite,misuse,Android,Sqlite,Misuse,我试图执行下面的查询,但我误用了聚合函数sum 质疑 对数输出 有什么建议吗? 当做 Brother不能在一个查询中聚合两次值,但这可以通过子查询解决 尝试: 注: 未经测试 不确定查询的逻辑:您正在聚合值,因此只剩下一个条目,因此查询category.name没有意义 为求和字段使用别名,即:。。。SumEntry.总金额。。。。AS是可选的,仅用于可读性目的。总和已聚合列entry.amount的值,因此,您不能在单个查询中使用除此之外的另一个聚合函数。我希望每个类别的总和聚合函数给出最大值

我试图执行下面的查询,但我误用了聚合函数sum

质疑

对数输出

有什么建议吗? 当做
Brother

不能在一个查询中聚合两次值,但这可以通过子查询解决

尝试:

注:

未经测试

不确定查询的逻辑:您正在聚合值,因此只剩下一个条目,因此查询category.name没有意义


为求和字段使用别名,即:。。。SumEntry.总金额。。。。AS是可选的,仅用于可读性目的。总和已聚合列entry.amount的值,因此,您不能在单个查询中使用除此之外的另一个聚合函数。我希望每个类别的总和聚合函数给出最大值。条目表有列amount和cid,用于存储在特定类别(例如体育、食品、,娱乐。Cid在类别表中存储特定类别的id。类别表只有两个字段Cid和名称。这将是有帮助的,如果你张贴查询,这将帮助我得到所需的结果。谢谢:如果您发布示例数据和所需结果,这将非常有用。将max用于单行子查询没有意义。@personne3000谢谢您的查询。我已修改您的查询以获得所需的结果。下面是我修改过的查询,从中我得到了我想要得到的结果从中选择maxamountsum,catid从条目中选择sumentry.amountas amountsum,entry.cid作为catid,从条目中选择类别。amount@CL.由于GROUPBY子句,子查询不返回单行。我不知道你到底是什么意思。对不起,我忽略了那个条款。
select max(sum(entry.amount)),category.name from entry,category where entry.amount<0 and entry.cid=category.cid group by category.name  
android.database.sqlite.SQLiteException: misuse of aggregate function sum() (code 1): , while  compiling: select sum(entry.amount),category.name from entry,category where entry.amount<0 and  entry.cid=category.cid group by category.name 09-22 20:20:18.626: E/AndroidRuntime(4093):    at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
select max(amountsum)
from (select sum(entry.amount) as amountsum
      from entry,category
      where entry.amount<0
        and entry.cid=category.cid
      group by category.name)