我使用AWS控制台从雅典娜的S3桶创建了一个表。你可以在上面的截图中看到相关的部分。我混淆了列名,所以假设列名是"a test column"
。我希望在该列中选择值为D的记录。我试图运行的查询是:
SELECT
*
FROM
table
WHERE
"a test column" = "D"
什么都不回。我还尝试使用IS而不是=,并在WHERE
子句中用单引号而不是双引号包围D:
-- Tried this
WHERE
"a test column" = 'D'
-- Tried this
WHERE
"a test column" IS "D"
-- Tried this
WHERE
"a test column" IS 'D'
毫无办法。有人能帮忙吗?谢谢。
我得到的错误信息是
不匹配输入'where‘期望(服务: athena;状态代码: 400;错误代码:无效请求异常;请求id: 8f2f7c17-8832-4e34-8fb2-a78855e3c17d)
发布于 2020-10-12 14:04:33
查询语法出现问题。引用字符串值时使用单引号('),因为双引号引用表中的列名。
SELECT
*
FROM
table
WHERE
"column_name" = 'D'
发布于 2020-02-04 08:19:51
意外的回答(如果我没有在原来的帖子中清楚地说出来的话也很抱歉)是,我不能在where子句前面加上“限制200”。最后我得加进去。希望它能帮助别人。
https://stackoverflow.com/questions/60042411
复制相似问题