sql查询

cbjzeqam  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(305)

**结案。**此问题不可复制或由打字错误引起。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。

11个月前关门了。
改进这个问题
我有一个问题:我在r中测试sql查询时遇到了一个错误。你能提出一个解决方案吗?
下面是要复制的代码:

library(sparklyr)
library(gapminder)
spark_conn <- spark_connect(master = "local")
data("gapminder")
copy_to(spark_conn, gapminder)
src_tbls(spark_conn)

# The query gave an error

DBI::dbGetQuery(spark_conn, "
                SELECT *
                CASE WHEN pop > 100000000 THEN 'Biggy'
                WHEN pop < 10000000 THEN 'Small'
                ELSE 'Medium' END
                AS pop_category
                FROM gapminder 
                WHERE year = 1957
                ")

Error: org.apache.spark.sql.catalyst.parser.ParseException: 
mismatched input 'WHEN' expecting <EOF>(line 3, pos 21)

== SQL ==

                SELECT *
                CASE WHEN pop > 10000000 THEN 'Biggy'
---------------------^^^
                WHEN pop < 10000000 THEN 'Small'
                ELSE 'Medium' END
                AS pop_category
                FROM gapminder
zaqlnxep

zaqlnxep1#

您缺少逗号 , 之后 * . 只要在它后面加逗号,你的查询就可以了

SELECT *,
    CASE WHEN pop > 100000000 THEN 'Biggy'
    WHEN pop < 10000000 THEN 'Small'
    ELSE 'Medium' END
    AS pop_category
FROM gapminder 
WHERE year = 1957

相关问题