SQLite按范围分组,具有任意起始编号和固定间隔

时间:2015-04-19 21:55:11

标签: android sqlite group-by

我有一个包含每日信息的SQLite表。它存储为年份和年份。

我想知道如何按周分组(可以在任何一天开始)并总结几个字段,或者如果要以编程方式进行操作。架构(有点过时)是:

_id      INTEGER PRIMARY KEY AUTOINCREMENT,
hYear    INTEGER,
hDay     INTEGER,
hTime    INTEGER,
hMinutes INTEGER,
lunch    INTEGER,
payWeek  INTEGER,
yearWeek INTEGER

以及一些示例数据:

17|2015|96|27000000|630|30|13|15
18|2015|97|27000000|240|0|13|15
19|2015|98|27000000|510|30|13|15
20|2015|99|27000000|300|30|13|15
21|2015|101|26100000|645|30|13|15
31|2015|103|26100000|645|30|13|16
32|2015|104|27000000|555|30|14|16
33|2015|105|27000000|570|30|14|16
34|2015|106|27000000|420|30|14|16
35|2015|107|26100000|630|30|14|16
36|2015|108|26100000|495|30|14|16

我想在一周中的任何一天开始这一周,并将其中的两列总结为7天并将其传递给CursorAdapter

1 个答案:

答案 0 :(得分:0)

要将日期转换为SQLite's built-in date/time functions所理解的格式,请将字符串-01-01附加到年份,使用julianday函数将该日期转换为Julian日期数字,然后添加一年的数字(然后修复一个一个错误)。

要查找 next 特定工作日,请使用带有weekday N修饰符的日期函数。 要查找之前的特定工作日,请减去7天。

该值可用于GROUP BY。