Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- javascript
- amazonlinux
- metadabatase
- dockercompose
- jmx-exporter
- Python
- BigQuery
- docker
- ubuntu
- vectorDB
- pySpark
- aiagent
- MSA
- airflow설치
- sparkstreaming
- kafka
- RAG
- 오블완
- milvus
- Redshift
- 루프백주소
- airflow
- Streamlit
- Dag
- prometheus
- 설치
- spark
- SQL
- hadoop
- grafana
Archives
- Today
- Total
데이터 노트
[Redshift] 연산 오류 | 자동 정수 변환 본문
단순 계산이긴 한데, 자꾸 오류가 나서
내가 기존 데이터를 잘못 묶었나..
혹은 레드시프트는 연산할 때 뭐가 다른 건가 계속 찾아봤다.
복잡하게 데이터를 짠 것도 아닌데 시간이 걸려서 스트레스 였지만..^^
원인은 실수인 결과값을 자동으로 정수 처리해 주는 것 때문에 원하는 결과가 나오지 않는 것이었다.
-- 최종 연산을 위한 쿼리
SELECT (sum(a) / count(b)) * 100
FROM ...
sum(a)의 값은 14 , count(b)의 값은 205 였고,
0.06829... * 100의 값이 6.829 ... 로 나와야하는데 계속 0이 출력됐다.
ROUND 처리 다 해줬으나 그게 답이 아니었음
결과론적으론 실수형으로 변환해주고, ROUND로 원하는 자릿수까지 설정해서
원하는 값을 얻었다.
(ROUND 처리는 필수 아님)
ROUND(CAST(SUM(a) AS FLOAT) / CAST(COUNT(b) AS FLOAT)) * 100
'Data Engineering > DB' 카테고리의 다른 글
[Redshift] Airflow로 자동화한 프로시저가 작동하지 않을 경우 (0) | 2024.03.23 |
---|---|
[Redshift] 기존 테이블의 컬럼명 변경을 위한 방법 (0) | 2024.03.20 |
[BigQuery] Python, BigQuery 연동 후 Google Sheet에 저장 (0) | 2023.06.10 |
[BigQuery] Python, BigQuery, Google Sheet 연동 시 credential 에러 (0) | 2023.06.07 |
[GCP] CLOUD SQL - Ubuntu 내 Django 연동 (0) | 2023.02.10 |