데브코스 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
;