【发布时间】:2017-01-19 03:51:19
【问题描述】:
我将日期存储在一个 int 字段中,当我选择它时,我使用
strftime('%Y-%m-%d', table.date/1000, 'unixepoch') as date
我需要过去 30 天的数据用于图表目的,这意味着我需要在最终查询中包含以下内容:
2017-01-18 ,2
2017-01-17, 0
2017-01-16, 0
2017-01-15, 1
在我的表中,我只有 1 月 18 日和 15 日的行。因此,对它运行查询,只会返回存在日期的行,
2017-01-18 ,2
2017-01-15, 1
但是,作为最终结果,我需要在过去 30 天内将没有任何值的行的值设为 0。为了做到这一点,我需要一种方法将我的数据与返回的查询联合起来
现在-1 天,0
现在-2 天,0
现在-3 天,0 ....
过去 30 天。这样,当我结合这 2 个查询时,就会得到想要的结果。
使用来自https://stackoverflow.com/a/32987070/379865
我设法得到了数据
WITH RECURSIVE dates(date) AS (
VALUES(date('now'))
UNION ALL
SELECT date(date, '-1 day')
FROM dates
limit 30
)
SELECT date, 0 as value FROM dates;
但是我不知道如何将它与我的其他查询联合起来,因为 WITH 似乎不是联合所有的一部分
【问题讨论】:
标签: android sqlite android-sqlite