我在我的本地数据库表“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/