根据第一条记录的日期从表中提取数据

时间:2017-08-25 08:27:38

标签: sql r date

我根据用户输入的日期查询sql表中的一些数据,如下所示:

dt = as.Date(some_date)

# Manipulate dates
end_date = as.Date(dt)
begin_date = as.character(as.Date(end_date) - 364)

此后会发生的情况是,表中日期字段位于开始日期和结束日期之间的所有记录都会被拉出。

qry <-  paste0("select * from table 
                 where date>= '", begin_date, "' and date <= '", end_date; ")

但有时可能会发生我没有1年的数据,但只有10或9或8个月。 所以我希望能够根据表格中的第一个日期更改364值。 那么在R中有什么方法我可以从开始日期开始将记录拉为end_date - 364并且如果表中不存在该日期,则将开始日期更改为第一个可用日期并再次运行查询。

据我所知,这需要两次传递日期和查询,但我希望能够迭代执行,而无需手动检查日期。

1 个答案:

答案 0 :(得分:0)

您的查询将为您提供一年的数据或table中提供的所有数据,这似乎是您的要求。但是,如果您在选择数据之前需要知道是否有超过一年的数据,那么您可以使用

SELECT MIN(date) FROM table

获取最早的日期。

相关问题