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;
クエリは意味をなさない。 。 。列のエイリアスとテーブルエイリアスを混乱させ、他のテーブルでランダムに混在させます。 –
Gordonありがとう、私は間違ってGROUP BYに間違ったID列を入れてしまったことに気づいた。訂正されましたが、まだ失敗しています。基本的には、「id」と「イベント」の列を「すべて」から引き出して、ビューに配置し、1人あたりの「イベント」の数でグループ化した後の平均、平均、最大を計算しようとしています。 – mongolol