inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

초보자를 위한 BigQuery(SQL) 입문

4-5. 시간 데이터 연습 문제 3~5번

4-5. 시간 데이터 연습 문제 4번

해결된 질문

122

문현정

작성한 질문수 2

0

안녕하세요, 카일님. 강의 잘 듣고 있습니다! 다름이 아니라 연습 문제를 풀던 중 궁금한 점이 생겨 문의 남깁니다.

 

4-5. 시간 데이터 연습 문제 4번을 푸는 과정에서 제가 작성한 쿼리문은 아래와 같으며, 쿼리 결과는 답안과 동일하다는 것을 확인했습니다. 그러나 결과만 같고 허점이 있는 쿼리문인지 판단이 안 되어서 이렇게 쿼리문을 작성해도 괜찮은지, 서브 쿼리를 활용하는 게 필수라면 왜 그런지 여쭤보려고 질문 드립니다!

 

질문 확인해주셔서 감사드리며 답변 기다리겠습니다 :)

 

SELECT
  COUNT(DISTINCT id) AS battle_cnt,
  EXTRACT(DAYOFWEEK FROM battle_datetime) AS day_of_week,
FROM basic.battle
GROUP BY
  day_of_week
ORDER BY day_of_week ASC

sql bigquery 데이터-리터러시

답변 1

0

카일스쿨

안녕하세요. 해당 쿼리를 사용하셔도 무방해요. 강의에서는 과정을 한번에 진행하면 어려워하실 수 있어서 나눠서 서브쿼리로 작성했다고 생각하시면 될 것 같아요.

지금 작성해주신 쿼리에서 EXTRACT를 더 앞에 둘 것 같아요.

SELECT
  EXTRACT(DAYOFWEEK ~ ),
  COUNT(DISTINCT id)
...

 

이건 저희 스타일이기도 한데, COUNT 같은 집계 함수는 마지막에 두는 것이 덜 헷갈리게 되어요(쿼리가 복잡해질 때) 앞에 쿼리를 명시하고 뒤에 COUNT나 SUM 등의 집계 함수를 쓰는 것을 습관화하고 있어요.

 

vs code

0

48

2

수업자료 다운

0

46

2

쿼리 화면 문의

0

70

2

4-5. 3번 문제 질

0

64

2

JOIN 1번 문제

1

73

2

battle 테이블 생성 시 생성 오류

0

68

1

5-6. 4번 문제 WHERE 조건의 위치 문의

0

64

2

5-6. 연습문제 4번, type2에 대해서는 고려하지 않아도 될까요?

1

68

2

battle table 오류

0

68

2

location IS NOT NULL 을 굳이 안 써도 되지 않나요?

0

61

2

12강 집계 함수

0

48

1

2-6. 연습 문제 1~3번

0

49

1

안녕하세요! 11번 문제 query문에 관해 질문드립니다

0

49

1

2-6 #2 WHERE vs. HAVING절 사용 여부 차이

0

65

1

섹션 별 퀴즈

0

64

1

espanso 설치 완료 후 프로그램 실행 문제

0

102

2

Syntax에러

0

81

2

4-5. 1번 문제 TIMESTAMP 관련 질문

0

87

2

시각화 도구 사용

0

109

2

11번 문제 GROUP BY 사용하는 이유

0

98

1

big query 쿼리 결과 컬럼 폭

0

107

3

battle 스키마 조건 복사 파일이 열리지 않아요.

0

128

1

6-5 데이터 검증 결과 예시문제

0

78

2

battle 스키마 조건 복사붙여넣기용 자료

0

113

2