尝试对数据进行分组和别名时出错

rggaifut  于 2021-06-28  发布在  Hive
关注(0)|答案(1)|浏览(272)

对sql比较陌生,一直在尝试返回人们参加的活动的最小、平均和最大数量。
基本上,我有一张table all 我正在生成一个视图 events 从。景色 events 包含列 id 以及 event 从今年开始。我试图将事件的计数按人分组,并给这个选择贴上 event count, 但由于某些原因,我不断收到一个解析错误(这是在Hive中完成的。)

--VIEW CREATION:
CREATE VIEW events
AS
SELECT all.id, all.event
FROM all
WHERE all.year = 2016;

--ATTEMPTED CALCULATION WHICH IS FAILING
SELECT avg(event_count), min(event_count), max(event_count)
FROM (SELECT COUNT(events.event), events.id FROM events
GROUP BY events.id) AS event_count;
aurhwmvo

aurhwmvo1#

这就是你想要的吗?

SELECT avg(e.event_count), min(e.event_count), max(e.event_count)
FROM (SELECT COUNT(e.event) as event_count, e.id
      FROM events e
      GROUP BY e.id
    ) e;

正如我在评论中提到的,您混淆了表别名和列别名。而且,一个叫做 id 会在一张table上重复。这似乎是一个笨拙的数据结构。

相关问题