GCP Bigquery에서 해당 코드를 실행하는 데 아래와 같은 에러가 발생했다.
에러 코드
SELECT
count(*) as count,
date(_PARTITIONTIME) as partition_date
FROM `데이터 보관 경로`
WHERE
DATE(_PARTITIONTIME) in (SELECT distinct DATE(_PARTITIONTIME) as partitiontime
FROM `goodmorning-4f4f0.diff_datalist.diff_currentStreak`
order by partitiontime desc limit 7)
AND result = 'false'
GROUP BY date(_PARTITIONTIME)
ORDER BY partition_date
❓❗ 에러 살펴보기
Error running query: SELECT list expression references column _PARTITIONTIME which is neither grouped nor aggregated
문제 원인 및 해결 과정
group by에서 alias 미사용 이슈 때문이다.
해당 코드는, select - group by - order by 순으로 적용되기 때문에 select 안에 있는 alias 값을 group by에도 작성해주면 원하는대로 해결이 된다.
해결 코드
SELECT
count(*) as count,
date(_PARTITIONTIME) as partition_date
FROM `데이터 보관 경로`
WHERE
DATE(_PARTITIONTIME) in (SELECT distinct DATE(_PARTITIONTIME) as partitiontime
FROM `goodmorning-4f4f0.diff_datalist.diff_currentStreak`
order by partitiontime desc limit 7)
AND result = 'false'
GROUP BY partition_date
ORDER BY partition_date
'데이터 공부 > 데이터베이스 & SQL' 카테고리의 다른 글
Redis - Node.js 연동 - ClientClosedError: The client is closed (1) | 2022.03.23 |
---|---|
06. SQL - SubQuery 활용 방법 (A.K.A 4주차 수업 정리 (1)) (0) | 2021.09.23 |
07. 스파르타 코딩클럽 - SQL 강의 완강 후기! (0) | 2021.07.01 |
05. SQL- Join의 활용 (A.K.A 3주차 수업 정리) (0) | 2021.06.21 |
04. SQL- Group By와 Order By (A.K.A 2주차 수업 정리) (1) | 2021.06.14 |