【问题标题】:Can't figure out why syntax error near "from" is appearing for sqldf in R无法弄清楚为什么 R 中的 sqldf 出现“from”附近的语法错误
【发布时间】:2016-03-24 17:24:03
【问题描述】:

我正在尝试比较列之间的主题 ID 以查找唯一 ID。即使我在过去的一个小时里检查并重新检查了我的语法,我仍然不断收到语法错误。我决定制作一个简单的数据框来玩弄低点,结果我得到了同样的错误。

这是我的代理数据框语法

color <- c('yellow', 'red', 'green', 'blue') 
number <- c(1,3,4,5) 
stuff <- data.frame(color, number) 

sqldf('select number, from stuff where color = red')

这是我得到的错误

sqliteSendQuery(con, statement, bind.data) 中的错误:错误 声明:“来自”附近:语法错误

我无法让这个简单的查询正常工作,这让我感到非常沮丧。是什么赋予了? 我什至尝试删除 'from' 之前的逗号,然后出现以下错误。

sqliteSendQuery(con, statement, bind.data) 中的错误:错误 声明:没有这样的列:红色

【问题讨论】:

  • 查询中数字,后面的逗号
  • 尝试删除它,我得到了第二个错误,即没有名为 red 的列存在,这是真的。但这无关紧要,因为我明确表示我希望它在“颜色”列中查看
  • 用引号括住红色的两边。我以前没有看到。 'red'
  • 您没有将red 放在引号中。对查询使用双引号,对查询中需要引用的内容使用单引号。
  • 既然很清楚你对 SQL 的理解不是那么好,那你为什么不使用 base R subsetting 之类的呢?

标签: sql r syntax-error sqldf


【解决方案1】:

删除逗号并更改引号:

> stuff
   color number
1 yellow      1
2    red      3
3  green      4
4   blue      5

> sqldf("select number from stuff where color = 'red'")
  number
1      3

【讨论】:

    猜你喜欢
    • 2023-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-08
    • 1970-01-01
    • 2012-02-17
    相关资源
    最近更新 更多