我尝试了一些查询,但非对我有用,我必须在sqlite表中显示listview中的app数据,本周总计有重复数据。
查询我试过
String selectQuery = "SELECT * FROM " + TABLE_APPDATA + " WHERE DATE( date_time ) >= DATE('now', 'weekday 0', '-7 days')";
"SELECT strftime('%Y-%W', date_time ) as date_time, sum(app_data) FROM "+TABLE_APPDATA+ " GROUP BY date_time order by app_data desc"
Table app_data
------------------------------------------
app_uid | date_time | app_name | app_data|
10118 | 12-6-2016 |Google App| 200 |
10158 | 12-6-2016 | Youtube | 300 |
10001 | 12-6-2016 | updater | 100 |
10158 | 13-6-2016 | Youtube | 500 |
------------------------------------------
这里重复的是必须加上app_data,即Youtube 800,任何查询都会感激不尽
答案 0 :(得分:1)
你的第二个版本非常接近。问题是列的命名。试试这个:
collectionvalue.LAST
或者,如果要使用列别名,请为其命名,使其与任何列不同:
SELECT strftime('%Y-%W', date_time ) as date_time, sum(app_data)
FROM "+TABLE_APPDATA+ "
GROUP BY strftime('%Y-%W', date_time )
ORDER BY app_data desc;
答案 1 :(得分:0)
您需要按strtime(%W, date_time)
分组。这将为您提供一个星期编号,您可以使用它来获取本周的所有记录并sum
。