Android Sqlite:android.database.sqlite.SQLiteException:GROUP BY子句中不允许使用聚合函数

时间:2015-01-06 22:07:43

标签: android sqlite group-by

这里有一个奇怪的问题,我的桌面上的Sqlite数据库浏览器中的查询执行得很好 - 结果完全符合预期 - 但在Android(4.4.2)中执行Cursor时抛出异常。我是Android和Sqlite的新手,所以也许我还没有发现“陷阱”。

简单查询:

select 
max(_id) as '_id', 
max(envid) as 'envid', 
max(action) as 'action', 
max(title) as 'title', 
max(cast(version as INTEGER)) as 'version', 
max(layout) as 'layout' 
from template  
where direction = 'return'  
group by title

例外:

  

E / AndroidRuntime(20731):引起:   android.database.sqlite.SQLiteException:聚合函数不是   允许在GROUP BY子句(代码1)中:,同时编译:select   max(_id)为'_id',max(envid)为'envid',max(action)为'action',   max(title)为'title',max(cast(版本为INTEGER))为'version',   max(布局)为模板中的'layout',其中direction ='return'组   按标题

我希望看到如果我在group by子句中放置一个聚合函数......但我没有。

1 个答案:

答案 0 :(得分:1)

这修复了它 - 这就是我真正需要的(参见上面Rohit5k2的评论。)

select _id, envid, action, title, max(cast(version as INTEGER)) as 'version', layout from template where direction = 'return' group by title