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

时间:2016-09-20 20:50:06

标签: sql apache hive

相对较新的SQL并且一直试图返回人们参加的事件数量的最小值,平均值和最大值。

基本上,我有一个标题为all的表格,我正在生成一个视图events。视图events包含今年的idevent列。我试图按人分组事件计数,并为此选择提供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;

1 个答案:

答案 0 :(得分:1)

这是你想要的吗?

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的字段似乎很奇怪。这似乎是一个尴尬的数据结构。