데브코스 TIL/SQL
SQL을 이용한 데이터 분석 DAY 3 GROUP BY와 CTAS
예니ㅣ
2023. 11. 15. 11:42
강의
GROUP BY & Aggregate
"GROUP BY"는 테이블의 레코드를 그룹핑하는 함수 입니다.
"Aggregate 함수"는 그룹핑한 필드에서 다양한 정보를 계산하는 함수들을 말합니다.
계산한 결과는 필드 이름(alias)를 지정하여 주는 것이 좋습니다.
- COUNT
- SUM
- AVG
- MIN
- MAX
- LISTAGG
CTAS
"CTAS"는 SELECT을 이용하여 테이블을 생성하는 방법 입니다.
기존의 테이블을 기반으로 데이터 분석에 기본이 되는 테이블을 사전에 생성할 수 있습니다.
DROP TABLE IF EXISTS new_table;
CREATE TABLE new_table AS
SELECT A_table
JOIN B_table
;
데이터 품질 확인 방법
- 중복된 레코드 체크하기
-- 전체 레코드 수
SELECT COUNT(1)
FROM table
;
-- 중복 제거 후 전체 레코드 수
SELECT COUNT(1)
FROM(
SELECT DISTINCT field
FROM table
)
;
-- CTE 사용
With ds AS(
SELECT DISTINCT field
FROM table
)
SELECT COUNT(1)
FROM ds
;
- 최근 데이터 존재 여부 체크하기(freshness)
SELECT MIN(ts), MAX(ts)
FROM table
;
- Primary key 유일성 체크하기
SELECT primary_key, COUNT(1)
FROM table
GROUP BY 1
ORDER BY 2 DESC
LIMIT1
;
- NULL 존재 비율 체크하기
SELECT
COUNT(CASE WHEN field is NULL THEN 1 END) AS field_null_count
FROM table
;