我有一个数据库,有名字和真值或假值。 例如,我有10行,其中4行的值为“true”。
name | value
-------------
1 | false
2 | true
3 | false
4 | true
5 | false
6 | false
7 | true
8 | false
9 | false
10 | true
我的尝试是:
val c = db!!.rawQuery("SELECT COUNT(*) FROM table GROUP BY value HAVING value = \"true\"", arrayOf())
c.moveToNext()
Log.e("OUTPUT", c.toString())
但是我将得到的日志是:e/output:android.database.sqlite.sqliteCursor@b0b20ea
所以我的问题是,如何获得countnumber作为可用的整数值?
首先更正您的查询,如下所示:
val c = db!!.rawQuery("SELECT COUNT(*) FROM table WHERE value = 'true'"
因为您不希望按值分组,而是对包含值'true'
的表的行进行计数。
我假设列value
包含字符串。
如果列包含布尔值,则查询应为:
val c = db!!.rawQuery("SELECT COUNT(*) FROM table WHERE value"
然后您可以通过c.getInt(0)
提取游标的第一列,也是唯一一列的值:
Log.e("OUTPUT", c.getInt(0).toString())