相对较新的SQL并且一直试图返回人们参加的事件数量的最小值,平均值和最大值。
基本上,我有一个标题为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;
答案 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
的字段似乎很奇怪。这似乎是一个尴尬的数据结构。