使用sqlite从表中获取每周总和数据

时间:2016-06-13 11:17:34

标签: android database sqlite

我尝试了一些查询,但非对我有用,我必须在sqlite表中显示listview中的app数据,本周总计有重复数据。

查询我试过

  1. String selectQuery = "SELECT * FROM " + TABLE_APPDATA + " WHERE DATE( date_time ) >= DATE('now', 'weekday 0', '-7 days')";

  2. "SELECT strftime('%Y-%W', date_time ) as date_time, sum(app_data) FROM "+TABLE_APPDATA+ " GROUP BY date_time order by app_data desc"

  3. 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,任何查询都会感激不尽

2 个答案:

答案 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