android - 按查询分组在 android 2.1 中不起作用

标签 android sqlite group-by

我在我的本地数据库表“session”中保存了以毫秒为单位的日期时间 我的问题是这段代码适用于 android 2.2 及更高版本,但我喜欢 android 2.2 的版本 它不工作意味着它给了我表中的所有行 但是如果我在 android 2.2 中运行相同的代码,它会正常工作并为我提供不同的值

当我在 Sqlite Manager 中运行下面的查询时,它会给我适当的不同值

创建表语法

"CREATE TABLE  session  ( " +
        "recid  INTEGER PRIMARY KEY NOT NULL ,  " +
        "starttime  TEXT)";

从数据库中获取数据的查询

Cursor c = mDb.rawQuery("select distinct (starttime / (24 * 60 * 60 * 1000)) ,
starttime from session group by (starttime / (24 * 60 * 60 * 1000))", null);

数据库表 session 中的值::

1   1319084700198
4   1319084100642
5   1319092500940
6   1319092500769
7   1319100300864
8   1319107500002
9   1319107500673
10  1319168700236
11  1319169000223
12  1319178000717
13  1319178000902
14  1319185800738
15  1319192100137
16  1319256000842
17  1319256000985
18  1319192100156
19  1319084700210
20  1319085000660
21  1319086500972
22  1319088000927
23  1319092500687
24  1319092500027
25  1319092500178
26  1319092500702
27  1319092500878
28  1319092500114

最佳答案

我认为您问题的根源在于在 SQL 中混合使用字符串和算术。 考虑将数据库类型从 TEXT 更改为 INTEGER。

关于android - 按查询分组在 android 2.1 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7430487/

相关文章:

Android 游标列

mysql - 合并具有部分关系的两个表

Java SQLite 更新查询不起作用

ios - sqlite3_step 总是返回 SQLITE_DONE

mysql - 像这样在 SQL 查询中查找 SQL 表和列表之间的公共(public)值

mysql - 根据mysql中的计算字段对数据进行分组和计数?

java - 在后台服务中每 n 分钟运行一次任务

android - 取消文件上传(改造)从协程kotlin android开始

android - 通过在 Android 中归档 ffmpeg/ffprobe 库来减少应用程序大小

android - 如果 res 中没有匹配的可绘制对象,Android 如何获取可绘制对象?