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.发布时间
)为日期类型;使用计数
,而不是大小
。