2016-09-20 2 views
0

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

감사합니다. Gordon, 실수로 GROUP BY에 잘못된 ID 열을 넣었습니다. 수정되었지만 여전히 실패합니다. 본질적으로, 나는 "id"와 "event"컬럼을 "all"에서 끌어 와서 뷰에 넣고 그룹당 평균, 평균, 최대 값을 한 사람당 "이벤트"수로 계산하려고합니다. – mongolol

답변

1

이게이게 맞습니까?

주석에서 언급 한 것처럼 테이블 별칭과 열 별칭이 혼란 스럽습니다. 또한 id이라는 필드가 테이블에서 반복되는 것이 이상하게 보입니다. 그것은 어색한 데이터 구조처럼 보입니다.

+0

그게 바로 내가 뭘 찾고 있었는지, 고마워. 나는 앨리어싱을 사용하는 예제에서 작업 해 왔으며 그 앨의 요지를 거의 얻지 못했다. – mongolol