不知道是什么原因造成这一点,但我试图让具有该级别的所有答案的heighest得分求和的水平。为了通过SUM(得分)降序返回错误结果
Cursor c = myDataBase
.rawQuery(
"select level "
+ "from answers where player ='"
+ player
+ "' group by level order by sum (score) desc",
null);
某个级别的所有答案都有一个分数值。它不断地返回(10级),10级,而实际上另一个层次的得分最高...如果我申请的递增顺序,它工作得很好:■
它给出错误... 12-03 16:27:55.602:E/AndroidRuntime(29505):引起:android.database.sqlite.SQLiteException:滥用聚合函数sum():,编译时:从玩家='yesr'的级别中选择级别具有总和(分数)= max(总和(分数)) 另外,你能指出为什么这应该工作(除了错误),而我的不? –
@MatthiasVanb你的查询和这个查询之间的基本区别是:当你的查询返回所有排序的时候,这返回最高分的等级。我更新了查询,并在选择中加入了'sum'。你可以试试吗? –
我试了一下,给那我不得不条款“具有”之前使用一组错误,所以我把它改为:“选择(选择的值,总和(分数)为levelscore级” \t +“从回答“player ='” \t + player \t +“'group by level)” \t +“group by level(levelscore)= levelscore”但是这只返回第一个级别,而不是最高分值。 –