Mysql rsqlite\u send\u查询中出错(conn@ptr,声明):接近“;(“语法错误”)_____
我在将行转换为列时出现了这个错误Mysql rsqlite\u send\u查询中出错(conn@ptr,声明):接近“;(“语法错误”)_____,mysql,sql,r,sqldf,Mysql,Sql,R,Sqldf,我在将行转换为列时出现了这个错误 library(sqldf) sqldf("SELECT id,name,ROW_NUMBER() over (PARTITION BY id order by id) as row_no FROM dd") rsqlite\u send\u查询中出错(conn@ptr,语句):靠近“(”:语法 错误_____ 我应该怎么做,或者请给我一个替代方案,因为我想在闪亮的应用程序中使用它sqlite不支持分区 您可能需要检查假设我们有: library(sqldf)
library(sqldf)
sqldf("SELECT id,name,ROW_NUMBER() over (PARTITION BY id order by id) as row_no FROM dd")
rsqlite\u send\u查询中出错(conn@ptr,语句):靠近“(”:语法
错误_____
我应该怎么做,或者请给我一个替代方案,因为我想在
闪亮的应用程序中使用它sqlite
不支持分区
您可能需要检查假设我们有:
library(sqldf)
dd <- data.frame(id = c(1, 2, 3), name = c("A", "B", "C"), X = 1:9)
库(sqldf)
dd这是的副本吗?可能是的副本
# 1. PostgreSQL - supports over/partition
library(RPostgreSQL)
sqldf("SELECT id, name, \"X\", ROW_NUMBER() over (PARTITION BY id order by id) as row_no
FROM dd order by id")
# 2. SQLite - does not support over/partition, use join instead
# Ensure RPostgreSQL is NOT loaded to force use of SQLite.
sqldf("select a.*, count(*) row_no
from dd a join dd b on a.id = b.id and b.rowid <= a.rowid
group by a.rowid
order by a.rowid")
# 3. Base R
transform(dd, row_no = ave(1:nrow(dd), id, FUN = seq_along))