앎을 경계하기

[가짜연구소3기] Data Engineer

[가짜연구소 3기] 데이터 엔지니어링 34 - More complex SQL queries

양갱맨 2021. 9. 4. 21:13

주제

여러 함수를 사용하여 복합적으로 sql 쿼리를 작성하는 법에 대해 배웠다.


DISTINCT 사용하기

pandas에서 고유값을 얻기 위해 unique를 사용하였다.

SQL에서는 DISTINCT를 사용하여 고유한 값을 추출한다.

SELECT DISTINCT 컬럼명 FROM 테이블명;

중복값 제거를 위해서는 다음과 같이 쿼리할 수 있다.

SELECT DISTINCT * FROM 테이블명;

집계 함수

  • 직접적으로 데이터베이스에 쿼리하여 집계함수를 사용할 수 있다.
  • SUM, AVG, MIN, MAX
    • 단일 컬럼의 집계 수행
      SELECT AVG(컬럼명) FROM 테이블명;
  • COUNT
    • 쿼리 조건에 맞는 행 개수를 가져올 수 있다.
      #전체 행의 수
      SELECT COUNT(*) FROM 테이블명;
      #컬럼의 고유 값 수
      SELECT COUNT(DISTINCT 컬럼명) FROM 테이블명;

Group by로 그룹화하기

select문의 where절 뒤 group by를 사용하여 카테고리 별 데이터를 요약할 수 있다.

사용 예시

SELECT borough,
			 COUNT(*)
FROM   hpd311calls
WHERE  complaint_type = 'PLUMBING'
GROUP BY borough;

불만 유형이 'PLUMBING'인 hpd311calls에서 자치구를 그룹화하여 자치구와 그 모든 개수를 선택한다.