Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 蜂巢-无法解析“;“月”;给定输入列_Sql_Hive_Hiveql - Fatal编程技术网

Sql 蜂巢-无法解析“;“月”;给定输入列

Sql 蜂巢-无法解析“;“月”;给定输入列,sql,hive,hiveql,Sql,Hive,Hiveql,我想看看在一个范围内每月发表多少篇论文。我知道我需要按月分组,然后按年分组,但我一直收到相同的错误,即“无法解析”月“给定的输入列”。如果我尝试修复month列,它将继续对year和count列执行相同的操作。我已尝试删除别名并仅使用较长的名称,但这也会引发错误。尝试此查询: SELECT MONTH(TO_DATE(publish_time)) AS month, YEAR(TO_DATE(publish_time)) AS year, count(1) FRO

我想看看在一个范围内每月发表多少篇论文。我知道我需要按月分组,然后按年分组,但我一直收到相同的错误,即“无法解析”
“给定的输入列”。如果我尝试修复month列,它将继续对year和count列执行相同的操作。我已尝试删除别名并仅使用较长的名称,但这也会引发错误。

尝试此查询:

SELECT 
    MONTH(TO_DATE(publish_time)) AS month, 
    YEAR(TO_DATE(publish_time)) AS year, 
    count(1) 
FROM metadata_2020_03_27
WHERE (publish_time IS NOT NULL) AND (publish_time != "2020") AND (publish_time BETWEEN "2020-01-01" AND "2021-12-31")
GROUP BY MONTH(TO_DATE(publish_time)), YEAR(TO_DATE(publish_time))
ORDER BY count(1)

size
用于查找数组列的大小,而不是用于聚合/计数。为此,请使用
count

如果在group by子句中使用较长的名称,会出现什么错误?@mck AnalysisException:无法解析“大小(到日期(spark\u catalog.default.metadata\u 2020\u 03\u 27.
publish\u time
)”,原因是数据类型不匹配:参数1需要(数组或映射)类型,但“到日期”(spark_catalog.default.metadata_2020_03_27.
发布时间
)为日期类型;使用
计数
,而不是
大小