【发布时间】:2016-07-12 07:16:44
【问题描述】:
说,我有下表:
CREATE TABLE Data (
Id INTEGER PRIMARY KEY,
Value DECIMAL,
Date DATE);
由于应用程序与财务相关,用户可以选择哪一天是每月的第一天。例如,如果他在每月 10 日领取工资,他可以将当月的第一天设置为 10 日。
我想创建一个查询,它返回用户定义的每月第 n 天的平均值。例如:
Date | Value
---------------+------
10.01.2016 | 10
11.01.2016 | 15
10.02.2016 | 20
11.03.2016 | 10
查询结果应该是:
Day | Average
----+--------
1 | 15
2 | 12.5
请注意,如果用户将第一天设置为 10 日,则该月的 9 日可能是一个月的 28 日、29 日、30 日或 31 日(取决于我们所讨论的月份)。所以这并不像从日期中提取天数那么简单。
【问题讨论】:
-
我可以想象这会变得很棘手,因为不同的月份有不同的天数。在某些月份(例如 2 月),天数会随年份变化。
标签: sql sqlite datetime date-arithmetic