【问题标题】:Why does select error occur near this statement? [closed]为什么这个语句附近会出现select错误? [关闭]
【发布时间】:2020-02-09 09:03:19
【问题描述】:

我在 R 中运行这个 Sqlite 查询,使用聚合来查找这个股票数据的 lastPrice 列。

第三个 SELECT 语句出现错误,我无法确定原因。我已经尝试了多种方法并拉动了这些单位,但它仍然不起作用。这个想法是找到每个时间桶的 lastPrice 列,但它没有给我正确的结果。

这是原来的错误信息:

Error: near "SELECT": syntax error

【问题讨论】:

  • 不要发布代码的照片。直接发布您的代码。
  • 也更具描述性。 “它实际上不起作用”是什么意思
  • @Dason,感谢您的评论。我厌倦了发布我的代码并对其进行格式化,但它不会接受它。
  • @Dason,我无法在标题中发布实际的错误消息。我是新手,所以请对我的过程多一点耐心。我非常感谢您的反馈。这是原始错误消息。错误:“SELECT”附近:语法错误
  • 布鲁斯,请考虑一下我们来自哪里:我们不知道您的数据、您的错误/警告或您的预期输出。至少包括真实文本(不是图片)和实际错误消息。最好给出一个更完整的最小工作示例,形成一个示例数据库并在其上执行一个真实的(代表性的)查询,并得到相同的(错误的)结果。

标签: r database sqlite select syntax


【解决方案1】:

您的 SQL CTE 语法不正确:在最后一个 CTE 的右括号后面有一个逗号。唯一需要逗号的情况是后面有另一个 CTE。

尝试更改为

with unit as (
  select t.RefDate, ...
),                                        -- yes comma here, between CTEs
agg as (
  select u.RefDate, ...
)                                         -- no comma here, after the last CTE
select u.RefDate, u.Symbol, ...

【讨论】:

  • 感谢您对我上一篇文章的周到回复和编辑。根据您的建议,当我运行其余代码时,我现在收到此消息:错误:靠近“AGG”:语法错误。我认为这些语句之间需要“,”。
  • 逗号是必需的个CTE之间,但不是在最后一个之后。 (我的回答与此一致,你的逗号和我的回答相似吗?)
  • 我发现了错误。非常感谢您在这方面的帮助以及发布的方向。我从你身上学到了很多。
  • 这是错位的逗号。再次感谢您。
  • 这很清楚,我下次会做得更好。您的反馈非常宝贵,我感谢您周到的回应。我想完全删除该问题,但我似乎无法这样做。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-16
  • 2015-03-07
  • 1970-01-01
  • 2016-03-30
  • 2023-02-04
  • 2019-12-22
相关资源
最近更新 更多