在android的mediastore数据库中有一个名为images的表,images表中有一个名为timetaken的列,表示图片的创建时间,单位为毫秒。
现在我有一个需求,我想按创建日期(而不是时间)对图像进行分组,并计算每天的图像,所以我尝试了这个查询:
SELECT datetaken/86400000*86400000 as dateT, count(dateT) as imageSumInDate FROM images WHERE (1 = 1 ) group by (dateT) ORDER BY dateT DESC
不幸的是,它出现了一个错误:
android.database.sqlite.SQLiteException:没有这样的列:dateT(代码 1)
然后我问别人这个问题,他给出了如下子查询样式:
select dateT,COUNT(dateT) as imageSumInDate from (SELECT datetaken/86400000*86400000 as dateT FROM images)t WHERE (1 = 1) group by (dateT) ORDER BY dateT DESC
这可能是正确的,但我不能在 ContentResolver 的查询方法中使用这个子查询。ContentResolver 可能只支持这种风格的查询:
从 ______ 订购的表中选择______
有什么技巧可以帮助我适应 ContentResolver 的查询风格吗?
任何帮助将非常感激!