SQLite列的队列SUM - android

时间:2012-02-26 01:24:37

标签: android sqlite sum

我有一个从SQLite数据库填充的列表视图。我有几个项目成功填入listview,但是我最后遇到了麻烦。

我正在尝试将列KEY_CONTENT6的总和排队,这是一个字符串类型,但它只包含数字。我想把它保存为字符串,所以要添加它我正在使用Double.valueOf()。问题是这个代码强制在队列上关闭,我无法弄清楚什么是错的:

 public Cursor queueAll(){

  String[] columns = 
     new String[]{KEY_ID, "sum("+ Double.valueOf(KEY_CONTENT6) +")",
                  KEY_CONTENT9, KEY_CONTENT10 };

  Cursor cursor = sqLiteDatabase.query(MYDATABASE_TABLE, columns,

          null , null, KEY_CONTENT10, null, KEY_CONTENT9+ " DESC");


  return cursor;

 }

3 个答案:

答案 0 :(得分:3)

只需使用SUM,无需使用其他任何东西..

String[] columns = 
     new String[]{KEY_ID, "sum(KEY_CONTENT6)",
                  KEY_CONTENT9, KEY_CONTENT10 };

对SQLite有效。因为,无论您在SQLite中设置数据类型,它都将值存储为字符串。因此,类型转换在SQLite中有点内置。

答案 1 :(得分:1)

你不能在SQL语句中使用java,要么坚持使用strait sql,要么迭代光标并使用java来进行计算。

您可以在http://www.sqlite.org/docs.html

找到有关sqlite的所有信息

答案 2 :(得分:0)

SQLite基本上没有类型,因此您可以在列上使用SUM,即使它是一个字符串。但是,如果它是一个数字列,为什么不给它一个数字类型??