Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用R在mySQL查询中输入增量日期字段_Mysql_R_Dbi_R Package_Rmysql - Fatal编程技术网

使用R在mySQL查询中输入增量日期字段

使用R在mySQL查询中输入增量日期字段,mysql,r,dbi,r-package,rmysql,Mysql,R,Dbi,R Package,Rmysql,我正在尝试使用DBIR包查询mySQL数据库中的一个表。但是,我需要通过每月更改date字段并将其限制为1来从表中提取字段 我在循环和sql查询文本方面遇到了问题。我想创建一个循环来更改日期(每月),然后将其打印到数据库查询中,该查询将提取与每月条件匹配的所有数据 这是我目前的代码: for (i in seq(0,12,1)){ results <- dbGetQuery(myDB, paste("SELECT * FROM cost_and_price_period WHERE st

我正在尝试使用DBIR包查询mySQL数据库中的一个表。但是,我需要通过每月更改date字段并将其限制为1来从表中提取字段

我在循环和sql查询文本方面遇到了问题。我想创建一个循环来更改日期(每月),然后将其打印到数据库查询中,该查询将提取与每月条件匹配的所有数据

这是我目前的代码:

for (i in seq(0,12,1)){
 results <- dbGetQuery(myDB, paste("SELECT * FROM cost_and_price_period WHERE start_date <=", '01-[[i]]-2019'))
}
<代码>用于(序列(0,12,1)中的i){
结果下面的解决方案可以让您了解如何处理您的问题

DummyTable

   id names        dob
1   1    aa 2018-01-01
2   2    bb 2018-02-01
3   3    cc 2018-03-01
4   4    dd 2018-04-01
5   5    ee 2018-05-01
6   6    ff 2018-06-01
7   7    gg 2018-07-01
8   8    hh 2018-08-01
9   9    ii 2018-09-01
10 10    jj 2018-10-01
11 11    kk 2018-11-01
12 12    ll 2018-12-01
13 13    ll 2018-12-01
假设我们在MySQL中有上表,那么我们需要访问每个月的第一天的数据,并将整个记录存储为一个数据框

### Using for loop like from your question
n <- 12
df <- vector("list", n)

for (i in seq(1:12)){
 df[[i]] <- data.frame(dbGetQuery(pool, paste0("SELECT * FROM dummyTable WHERE dob = '2018-",i,"-01';" ))) # in iteration `i` corresponds for month number
}

df <- do.call(rbind, df)
### Using lapply(preferred way)
n <- seq(1:12)
df <- lapply(n, function(x){
  dbGetQuery(pool, paste0("SELECT * FROM dummyTable WHERE dob = '2018-",x,"-01';" ))
  })
df <- do.call(rbind, df)
####使用问题中的for循环
N